Workflow de création de livres multi-agents en utilisant l'outil de nœud AI et GPT-4, DALL-E

Avancé

Ceci est unContent Creation, Multimodal AIworkflow d'automatisation du domainecontenant 25 nœuds.Utilise principalement des nœuds comme Set, AwsS3, Markdown, GoogleDrive, HttpRequest. Créer un livre généré par l'IA avec GPT-4.1-mini, DALL-E, Google Drive et AWS S3

Prérequis
  • Access Key et Secret AWS
  • Informations d'identification Google Drive API
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "Dzkcrsp1EXXItaYc",
  "meta": {
    "instanceId": "4a2e6764ba7a6bc9890d9225f4b21d570ce88fc9bd57549c89057fcee58fed0f",
    "templateCredsSetupCompleted": true
  },
  "name": "Multi-Agent Book Creation Workflow with AI Tool Node and GPT-4, DALL-E",
  "tags": [],
  "nodes": [
    {
      "id": "8186d3a3-15f5-456b-8ba4-d62ea9ea1bd4",
      "name": "À réception d'un message chat",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        -528,
        -432
      ],
      "webhookId": "d41b30e6-1c2d-4d84-8bcc-bb47a361e608",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "582637d7-5961-463c-bf35-d4172eceec30",
      "name": "Agent Designer",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        224,
        -208
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {},
        "toolDescription": "You are Designer Agent, your job is to generate the prompt to create the book cover\n\nThe prompt must be ready for DALL·E 2 and include:\n- focal motif(s) matching brief.visual_motifs (1–3)\n- composition with clean top third for title; safe margins\n- style/medium; lighting; background texture/gradient\n- color direction (brief.color_palette)\n- typography guidance: “bold sans-serif title, high contrast”\n- aspect ratio mention: “aspect ratio 1:1.6”\n\nDo NOT generate images, return the prompt only, nothing else Do NOT return anything else."
      },
      "typeVersion": 2.2
    },
    {
      "id": "1508974a-2b9d-41de-bea8-6b69f52ec91a",
      "name": "Agent Rédacteur de contenu",
      "type": "@n8n/n8n-nodes-langchain.agentTool",
      "position": [
        544,
        -208
      ],
      "parameters": {
        "text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Prompt__User_Message_', ``, 'string') }}",
        "options": {},
        "toolDescription": "You are a Book Writer Agent\nYour task is to write the entire book in Markdown format following the provided writing_brief.\n\nOutput Rules\n\t•\tFormat strictly in Markdown\n\t•\tNo extra text, no explanations, no keys, no JSON\n\t•\tNo fabricated citations\n\nStructure\n\t•\t# Title page with title, subtitle, author\n\t•\t## Table of Contents listing all chapters\n\t•\t## Chapters (match chapter_count), use ## for chapter titles and ### for sections\n\t•\tInclude practical sections, examples, and brief checklists where relevant\n\t•\tEnd with:\n\t•\t## Conclusion / Key Takeaways\n\t•\t## Next Steps / Further Reading (if applicable)\n\nConstraints\n\t•\tRespect language, tone, target_word_count (±15%), and chapter_count.\nDo not add break line between chapter, each chapter should be long and informative.\nReturn in markdown only, nothing else."
      },
      "typeVersion": 2.2
    },
    {
      "id": "8a921536-1306-456a-a606-bed24c4a96ed",
      "name": "Analyseur de sortie structurée",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -144,
        -208
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"book_brief\": {\n    \"working_title\": \"Navigating AI Automation\",\n    \"subtitle\": \"A Practical Guide for Busy Teams\",\n    \"topic\": \"AI automation for SMEs\",\n    \"audience\": \"General readers with interest in the topic.\",\n    \"goals\": \"Teach a simple, repeatable automation playbook.\",\n    \"tone\": \"Clear, practical, friendly\",\n    \"language\": \"English\",\n    \"keywords\": [\"automation\",\"AI\",\"workflows\",\"n8n\"],\n    \"target_word_count\": 4000,\n    \"chapter_count\": 6\n  },\n  \"cover_design_brief\": {\n    \"title\": \"Navigating AI Automation\",\n    \"subtitle\": \"A Practical Guide for Busy Teams\",\n    \"author\": \"Anonymous\",\n    \"language\": \"English\",\n    \"style_descriptors\": [\"minimalist\",\"bold typography\",\"clean vector\",\"subtle texture\"],\n    \"visual_motifs\": [\"compass\",\"grid\",\"workflow nodes\"],\n    \"avoid\": [\"logos\",\"trademarked characters\",\"NSFW\"],\n    \"color_palette\": \"High-contrast, modern\",\n    \"composition_notes\": \"Leave top third clean for bold title\",\n    \"aspect_ratio\": \"1:1.6\"\n  },\n  \"writing_brief\": {\n    \"title\": \"Navigating AI Automation\",\n    \"subtitle\": \"A Practical Guide for Busy Teams\",\n    \"author\": \"Anonymous\",\n    \"language\": \"English\",\n    \"tone\": \"Clear, practical, friendly\",\n    \"target_word_count\": 4000,\n    \"chapter_count\": 6,\n    \"outline\": [\"Intro\",\"Foundations\",\"Core Concepts\",\"Workflow\",\"Case Study\",\"Pitfalls & Next Steps\"],\n    \"include_front_matter\": true,\n    \"include_back_matter\": true,\n    \"image_placeholders\": true,\n    \"citations_policy\": \"none unless sources provided\"\n  }\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "700133ce-dbda-4f44-99d4-eef15c49e96c",
      "name": "Agent Brief du livre",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -304,
        -432
      ],
      "parameters": {
        "text": "=Create a short book brief from this request:\n- Topic: {{ $json.chatInput }}\n- Audience (optional): Kid\n- Language (optional): English\n- Target word count (optional): 10000\n- Chapter count (optional): 5\n- Author (optional): Trung Tran",
        "options": {
          "systemMessage": "You are General Agent. Your ONLY job in this call: return a single planning JSON object with keys\n{ book_brief, cover_design_brief, writing_brief }.\n\nHard rules:\n- Return EXACTLY one JSON object. No arrays, no markdown, no prose, no notes, no explanations.\n- If a field is missing, FILL a sensible default. Do NOT ask follow-ups or add “please provide”.\n- Top-level keys MUST be exactly: book_brief, cover_design_brief, writing_brief.\n- All arrays MUST be arrays of strings/integers as appropriate (no objects unless specified).\n- Language must mirror the request or default to \"English\".\n- Audience/tone defaults: audience=\"General readers with interest in the topic.\", tone=\"Clear, practical, friendly\".\n- Numbers are integers (e.g., target_word_count, chapter_count).\n\nSchema (shape, not instructions):\n{\n  \"book_brief\": {\n    \"working_title\": \"string\",\n    \"subtitle\": \"string\",\n    \"topic\": \"string\",\n    \"audience\": \"string\",\n    \"goals\": \"string\",\n    \"tone\": \"string\",\n    \"language\": \"string\",\n    \"keywords\": [\"string\"],\n    \"target_word_count\": 4000,\n    \"chapter_count\": 6,\n    \"author\": \"string\"\n  },\n  \"cover_design_brief\": {\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"author\": \"string\",\n    \"language\": \"string\",\n    \"style_descriptors\": [\"string\"],\n    \"visual_motifs\": [\"string\"],\n    \"avoid\": [\"string\"],\n    \"color_palette\": \"string\",\n    \"composition_notes\": \"string\",\n    \"aspect_ratio\": \"1:1.6\"\n  },\n  \"writing_brief\": {\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"author\": \"string\",\n    \"language\": \"string\",\n    \"tone\": \"string\",\n    \"target_word_count\": 4000,\n    \"chapter_count\": 6,\n    \"outline\": [\"string\"],\n    \"include_front_matter\": true,\n    \"include_back_matter\": true,\n    \"image_placeholders\": true,\n    \"citations_policy\": \"string\"\n  }\n}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "b8def711-2648-4065-adaf-e1d7265050ca",
      "name": "Agent Écrivain du livre",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        384,
        -432
      ],
      "parameters": {
        "text": "=Given the following input:\n{{ $json.output.toJsonString() }}\nUse the Designer Agent and Content Writer Agent to produce the final JSON output with:\n1.\tcover_prompt: a DALL·E input prompt generated from cover_design_brief.\n2.\tbook_content_markdown: the full book content in markdow (must be markdown format) generated from writing_brief.",
        "options": {
          "systemMessage": "You are the Orchestration Agent responsible for managing two specialized tool agents to create a children-friendly book project. Your job is to:\n\t1.\tAnalyze the input JSON which contains:\n\t•\tbook_brief: metadata about the book project\n\t•\tcover_design_brief: instructions for designing the book cover\n\t•\twriting_brief: instructions for writing the book content\n\t2.\tCoordinate two tool agents:\n\t•\tDesigner Agent → Generate a DALL·E-compatible prompt using cover_design_brief.\n\t•\tContent Writer Agent → Generate full book content in Markdown format using writing_brief.\n\t3.\tFinal Output:\n\t•\tA cover prompt (string) to be used later with DALL·E for cover creation.\n\t•\tThe full book manuscript in Markdown format, including front matter, chapters, image placeholders, and back matter as specified.\n\t4.\tConstraints & Style:\n\t•\tThe book should follow the tone, audience, and structure defined in the input.\n\t•\tThe Designer prompt must be visual, concise, and descriptive.\n\t•\tThe book content must be clear, practical, friendly, and suitable for kids.\n\t•\tReturn the results in JSON format with two fields:\n\t•\tcover_prompt\n\t•\tbook_content_markdown (must be markdown format)"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "74667209-1051-4390-a98d-8c1b3cf3e281",
      "name": "gpt-4.1-mini",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -272,
        -208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a4ca95db-4b95-4e60-881e-9007443b049d",
      "name": "gpt-4.1-mini1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        96,
        -208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "5bdcf76c-a163-4ff8-aa6a-38c282ccc479",
      "name": "gpt-4.1-mini2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        640,
        0
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "52af3ecd-4d98-4553-becb-1dfc09860bf0",
      "name": "Analyseur de sortie structurée1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        864,
        -208
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"bookCoverPrompt\": \"prompt\",\n  \"bookContentMarkdown\": \"markdown\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "04bc9c11-9816-4d26-b3da-9f92559d1f67",
      "name": "Configurer les métadonnées",
      "type": "n8n-nodes-base.set",
      "position": [
        1520,
        -432
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1ff0b9a4-7d60-44ec-b047-e49252f1ace9",
              "name": "Drive Folder ID",
              "type": "string",
              "value": "your_folder_id"
            },
            {
              "id": "523998b6-631e-484e-bb78-fb0b38f00184",
              "name": "S3BaseURL",
              "type": "string",
              "value": "https://your_bucket_name.s3.ap-southeast-1.amazonaws.com/"
            },
            {
              "id": "630ed341-4064-4ae1-b3e1-cf36555bb04c",
              "name": "=PictureURL",
              "type": "string",
              "value": "=https://your_bucket_name.s3.ap-southeast-1.amazonaws.com/{{ $('Book Brief Agent').item.json.output.book_brief.working_title.replaceAll(\" \",'')}}-{{ $workflow.id }}.png"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "770f93e9-f4b7-4d08-861c-5d89de5fa601",
      "name": "Convertir le document en PDF",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2192,
        -432
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {
          "googleFileConversion": {
            "conversion": {
              "docsToFormat": "application/pdf"
            }
          }
        },
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "fC471es5gk5Mm900",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "8688f126-e490-49e5-9a15-a1f80e999389",
      "name": "Modèle de chat OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        320,
        0
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0a085c77-8a24-4297-8b42-de7bfbb64a11",
      "name": "Générer l'image de couverture",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1072,
        -432
      ],
      "parameters": {
        "model": "dall-e-2",
        "prompt": "={{ $json.output.bookCoverPrompt }}",
        "options": {},
        "resource": "image"
      },
      "credentials": {
        "openAiApi": {
          "id": "PPSwAKeLQYgAPobT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "d7705daf-bf94-40a9-8358-661c7617583b",
      "name": "Téléverser vers AWS S3",
      "type": "n8n-nodes-base.awsS3",
      "position": [
        1296,
        -432
      ],
      "parameters": {
        "fileName": "={{ $('Book Brief Agent').item.json.output.book_brief.working_title.replaceAll(\" \",'')}}-{{ $workflow.id }}.{{ $json.fileExtension }}",
        "operation": "upload",
        "bucketName": "wisestackai",
        "additionalFields": {
          "acl": "publicRead",
          "grantRead": true,
          "grantReadAcp": true
        }
      },
      "credentials": {
        "aws": {
          "id": "IZYsJuHhfVJ3PIrC",
          "name": "AWS account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "b0dd7e17-b059-4ac2-bde6-ed3b15dc270a",
      "name": "Construire le HTML du livre",
      "type": "n8n-nodes-base.markdown",
      "position": [
        1744,
        -432
      ],
      "parameters": {
        "mode": "markdownToHtml",
        "options": {},
        "markdown": "=![Alt text]({{ $json.PictureURL }})\n\n{{ $('Book Writer Agent').item.json.output.bookContentMarkdown.replaceAll(\"---\",'/n') }}"
      },
      "typeVersion": 1
    },
    {
      "id": "2254d49e-29c7-4e06-ac75-f4c4c0b60f02",
      "name": "Téléverser vers Google Drive",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1968,
        -432
      ],
      "parameters": {
        "url": "https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&supportsAllDrives=true",
        "body": "=--foo_bar_baz\nContent-Type: application/json; charset=UTF-8\n\n{\n  \"name\": \"{{ $('Book Brief Agent').item.json.output.book_brief.working_title }}: {{ $('Book Brief Agent').item.json.output.book_brief.subtitle }}\",\n  \"mimeType\": \"application/vnd.google-apps.document\",\n  \"parents\": [\"{{ $json['Drive Folder ID'] }}\"]\n}\n\n--foo_bar_baz\nContent-Type: text/html; charset=UTF-8\n\n{{ $json.data }}\n--foo_bar_baz--",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "raw",
        "sendHeaders": true,
        "authentication": "predefinedCredentialType",
        "rawContentType": "multipart/related; boundary=foo_bar_baz",
        "queryParameters": {
          "parameters": [
            {
              "name": "uploadType",
              "value": "multipart"
            },
            {
              "name": "supportsAllDrives",
              "value": "true"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "boundary",
              "value": "foo_bar_baz"
            }
          ]
        },
        "nodeCredentialType": "googleDriveOAuth2Api"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "fC471es5gk5Mm900",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "53f746bb-13f6-4807-9bc8-154f546da928",
      "name": "Archiver dans le dossier Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2416,
        -432
      ],
      "parameters": {
        "name": "={{ $json.name }}.pdf",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1IPcko8bzogO3W4mxhrW2Q017QA0Lc5MI",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1IPcko8bzogO3W4mxhrW2Q017QA0Lc5MI",
          "cachedResultName": "SmartSales"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "fC471es5gk5Mm900",
          "name": "Google Drive account"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "45fd8cf7-c850-4c7a-bb7a-af78cf6fd675",
      "name": "Note autocollante",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1584,
        -1008
      ],
      "parameters": {
        "width": 992,
        "height": 1920,
        "content": "# Multi-Agent Book Creation Workflow with AI Tool Node and GPT-4, DALL-E\n[![Watch the video](https://wisestackai.s3.ap-southeast-1.amazonaws.com/multi-agent-book-creation-workflow-with-ai-tool-node-and-gpt-4-dall-e.jpg)](https://www.youtube.com/watch?v=o1x8Tw_7FwQ)\n\n## **Who’s it for**\nThis workflow is designed for:\n- **Content creators** who want to generate books or structured documents automatically.  \n- **Educators and trainers** who need quick course materials, eBooks, or study guides.  \n- **Automation enthusiasts** exploring **multi-agent systems** using the newly released **AI Tool Node** in n8n.  \n- **Developers** looking for a reference template to understand **orchestration of multiple AI agents** with structured output.  \n\n## **How it works / What it does**\nThis template demonstrates a **multi-agent orchestration system** powered by AI Tool Nodes:  \n1. **Trigger**: Workflow starts when a chat message is received.  \n2. **Book Brief Agent**: Generates the initial book concept (title, subtitle, and outline).  \n3. **Book Writer Agent**: Expands the outline into full content by collaborating with two sub-agents:  \n   - **Designer Agent** → Provides layout/design suggestions.  \n   - **Content Writer Agent** → Drafts and refines chapters.  \n4. **Generate Cover Image**: AI generates a custom book cover image.  \n5. **Upload to AWS S3**: Stores the cover image securely.  \n6. **Configure Metadata**: Adds metadata for title, author, and description.  \n7. **Build Book HTML**: Converts markdown-based content into HTML format.  \n8. **Upload to Google Drive**: Saves the HTML content for processing.  \n9. **Convert to PDF**: Transforms the book into a professional PDF.  \n10. **Archive to Google Drive**: Final version is archived for safe storage.  \n\nThis workflow showcases **multi-agent coordination, structured parsing, and seamless integration** with cloud storage services.  \n\n## **How to set up**\n1. **Import the workflow** into n8n.  \n2. Configure the following connections:  \n   - **OpenAI** (for Book Brief, Book Writer, Designer, and Content Writer Agents).  \n   - **AWS S3** (for image storage).  \n   - **Google Drive** (for document storage & archiving).  \n3. Add your API keys and credentials in **n8n credentials manager**.  \n4. Test the workflow by sending a sample chat message (e.g., *“Write a book about AI in education”*).  \n5. Verify outputs in Google Drive (HTML + PDF) and AWS S3 (cover image).  \n\n## **Requirements**\n- **n8n** (latest version with **AI Tool Node** support).  \n- **OpenAI API key** (to power multi-agent models).  \n- **AWS account** (with S3 bucket for storing images).  \n- **Google Drive integration** (for document storage and archiving).  \n- Basic familiarity with **workflow setup in n8n**.  \n\n## **How to customize the workflow**\n- **Switch Models**: Replace `gpt-4.1-mini` with other models (faster, cheaper, or more powerful).  \n- **Add More Agents**: Introduce agents for **editing, fact-checking, or translation**.  \n- **Change Output Format**: Export to **EPUB, DOCX, or Markdown** instead of PDF.  \n- **Branding Options**: Modify the **cover generation prompt** to include company logos or specific style.  \n- **Extend Storage**: Add **Dropbox, OneDrive, or Notion** integration for additional archiving.  \n- **Trigger Alternatives**: Replace chat trigger with **form submission, webhook, or schedule-based runs**.  \n\n✅ This workflow acts as a **free, plug-and-play template** to showcase how **multi-agents + AI Tool Node** can work together to automate complex content creation pipelines.  "
      },
      "typeVersion": 1
    },
    {
      "id": "e9b3dc5a-aac3-4323-8071-e873c0e4dbc5",
      "name": "Note autocollante1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -608
      ],
      "parameters": {
        "height": 128,
        "content": "### 1. Trigger on Chat Message\nThe workflow begins when a chat message is received, acting as the initial input to start the automation."
      },
      "typeVersion": 1
    },
    {
      "id": "e24ae4de-8286-4b5b-a47d-296c53c065bf",
      "name": "Note autocollante2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -624
      ],
      "parameters": {
        "content": "### 2. Generate Book Brief\nThe **Book Brief Agent** creates the initial concept, including the book’s title, subtitle, and structured outline."
      },
      "typeVersion": 1
    },
    {
      "id": "e8b11622-5a76-4de4-8c93-fcdc17368d8e",
      "name": "Note autocollante3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -624
      ],
      "parameters": {
        "width": 512,
        "height": 144,
        "content": "### 3. Expand with Book Writer Agent\nThe **Book Writer Agent** takes the brief and expands it into detailed content by coordinating with sub-agents:\n- **Designer Agent** – suggests layout and design elements.  \n- **Content Writer Agent** – writes and refines chapters.  "
      },
      "typeVersion": 1
    },
    {
      "id": "1fd03f2c-4309-4ffc-96cd-aa7b3b0063d3",
      "name": "Note autocollante4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -608
      ],
      "parameters": {
        "width": 384,
        "height": 128,
        "content": "### 4. Create Book Cover Image\n- An AI model generates a custom book cover image to visually complement the content.\n- The generated cover image is securely stored in an **AWS S3 bucket**.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0494df9e-3262-43c4-b805-1ad2523062ee",
      "name": "Note autocollante5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -608
      ],
      "parameters": {
        "width": 560,
        "height": 144,
        "content": "### 5. Build Book in HTML\n- The written content is converted from Markdown into HTML format for easier formatting and conversion.\n- The HTML book file is uploaded to **Google Drive** for storage and further processing."
      },
      "typeVersion": 1
    },
    {
      "id": "242a61f9-9867-4db4-82c7-7f1cd63555b0",
      "name": "Note autocollante6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2112,
        -608
      ],
      "parameters": {
        "width": 448,
        "height": 144,
        "content": "\n### 6. Convert to PDF\n- The HTML content is transformed into a **professional PDF document**.\n- The finished PDF is archived in a specified **Google Drive folder** for safe storage and easy access."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6b734114-8c9f-465a-a39a-dec9e185ad7e",
  "connections": {
    "74667209-1051-4390-a98d-8c1b3cf3e281": {
      "ai_languageModel": [
        [
          {
            "node": "700133ce-dbda-4f44-99d4-eef15c49e96c",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "a4ca95db-4b95-4e60-881e-9007443b049d": {
      "ai_languageModel": [
        [
          {
            "node": "b8def711-2648-4065-adaf-e1d7265050ca",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "5bdcf76c-a163-4ff8-aa6a-38c282ccc479": {
      "ai_languageModel": [
        [
          {
            "node": "1508974a-2b9d-41de-bea8-6b69f52ec91a",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "582637d7-5961-463c-bf35-d4172eceec30": {
      "ai_tool": [
        [
          {
            "node": "b8def711-2648-4065-adaf-e1d7265050ca",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "b0dd7e17-b059-4ac2-bde6-ed3b15dc270a": {
      "main": [
        [
          {
            "node": "2254d49e-29c7-4e06-ac75-f4c4c0b60f02",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "700133ce-dbda-4f44-99d4-eef15c49e96c": {
      "main": [
        [
          {
            "node": "b8def711-2648-4065-adaf-e1d7265050ca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d7705daf-bf94-40a9-8358-661c7617583b": {
      "main": [
        [
          {
            "node": "04bc9c11-9816-4d26-b3da-9f92559d1f67",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b8def711-2648-4065-adaf-e1d7265050ca": {
      "main": [
        [
          {
            "node": "0a085c77-8a24-4297-8b42-de7bfbb64a11",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8688f126-e490-49e5-9a15-a1f80e999389": {
      "ai_languageModel": [
        [
          {
            "node": "582637d7-5961-463c-bf35-d4172eceec30",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "04bc9c11-9816-4d26-b3da-9f92559d1f67": {
      "main": [
        [
          {
            "node": "b0dd7e17-b059-4ac2-bde6-ed3b15dc270a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1508974a-2b9d-41de-bea8-6b69f52ec91a": {
      "ai_tool": [
        [
          {
            "node": "b8def711-2648-4065-adaf-e1d7265050ca",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "0a085c77-8a24-4297-8b42-de7bfbb64a11": {
      "main": [
        [
          {
            "node": "d7705daf-bf94-40a9-8358-661c7617583b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2254d49e-29c7-4e06-ac75-f4c4c0b60f02": {
      "main": [
        [
          {
            "node": "770f93e9-f4b7-4d08-861c-5d89de5fa601",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "770f93e9-f4b7-4d08-861c-5d89de5fa601": {
      "main": [
        [
          {
            "node": "53f746bb-13f6-4807-9bc8-154f546da928",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8a921536-1306-456a-a606-bed24c4a96ed": {
      "ai_outputParser": [
        [
          {
            "node": "700133ce-dbda-4f44-99d4-eef15c49e96c",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "52af3ecd-4d98-4553-becb-1dfc09860bf0": {
      "ai_outputParser": [
        [
          {
            "node": "b8def711-2648-4065-adaf-e1d7265050ca",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "8186d3a3-15f5-456b-8ba4-d62ea9ea1bd4": {
      "main": [
        [
          {
            "node": "700133ce-dbda-4f44-99d4-eef15c49e96c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - Création de contenu, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Workflows recommandés

AI驱动dee-mail分诊与automatique回复系统,intégrationOpenAIagentetGmail
AI驱动dee-mail分诊与automatique回复系统,intégrationOpenAIagentetGmail
If
Set
Gmail
+
If
Set
Gmail
68 NœudsAbdullahi Ahmed
Création de contenu
💥 Automatisation des publicités vidéo avec NanoBanana, Seedream 4, ChatGPT Image et Veo 3 - VIDE
Utiliser l'IA (NanoBanana, Seedream, GPT-4o, Veo 3) pour automatiser et publier des campagnes publicitaires vidéo
Set
Code
Wait
+
Set
Code
Wait
63 NœudsDr. Firas
Création de contenu
Flux de travail automatisé SEO pour blog de mots-clés à WordPress avec GPT-5 et images fal.ai
Automatisation du flux de blog SEO des mots-clés vers WordPress avec GPT-5 et les images fal.ai
Set
Code
Wait
+
Set
Code
Wait
96 NœudsPaul
Création de contenu
Version professionnelle de l'automatisation de blog WordPress (recherche approfondie) v2.1 sur le marché
Automatisation de la création de blog optimisé pour le SEO avec GPT-4o, Perplexity AI et support multilingue
If
Set
Xml
+
If
Set
Xml
125 NœudsDaniel Ng
Création de contenu
Automatisation de la création de contenu viral avec OpenAI, ElevenLabs et Fal.ai pour les vidéos, les podcasts et l'ASMR
Automatiser la création de contenu viral pour la vidéo, les podcasts et l'ASMR avec OpenAI, ElevenLabs et Fal.ai
Set
Code
Wait
+
Set
Code
Wait
97 NœudsAdam Crafts
Création de contenu
Publication autonome de blog basée sur des vidéos YouTube
Publication autonome de blog à partir de vidéos YouTube avec ChatGPT, Sheets, Apify, Pexels et WordPress
If
Set
Code
+
If
Set
Code
80 NœudsOriol Seguí
Création de contenu
Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds25
Catégorie2
Types de nœuds12
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
Trung Tran

Trung Tran

@trungtran

Empowering small and medium businesses with smart automation and practical AI, no big tech team required.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34