{"componentChunkName":"component---src-templates-docs-js","path":"/features/workflows-and-canvas","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | DesignerBox","docsLocation":""}},"mdx":{"fields":{"id":"b0b84b31-05bd-5abe-b9c0-9f99434772dc","title":"Workflows and the Canvas","slug":"/features/workflows-and-canvas","locale":"en-GB"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Workflows and the Canvas\",\n  \"metaTitle\": \"Workflows and Canvas | DesignerBox\",\n  \"metaDescription\": \"A step-by-step guide to building custom AI pipelines on the DesignerBox node canvas, from new workflow to run and share.\",\n  \"order\": 2\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Workflows and the Canvas\"), mdx(\"p\", null, \"A \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"workflow\"), \" is a custom AI media pipeline for image and video generation. You build it on the \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"canvas\"), \" by connecting nodes, then run and reuse it. This page walks through building and running one.\"), mdx(\"h2\", null, \"Step 1: Open Workflows and start one\"), mdx(\"p\", null, \"Open \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Workflows\"), \" from the sidebar. You can:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Select \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"New Workflow\"), \" to build a custom pipeline from scratch, or\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Start from a Technique\"), \" to begin with a ready-made recipe you can edit.\")), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"800px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/356e8/workflows.jpg\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.49999999999999%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFAf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAa6lHRYZD//EABsQAAIBBQAAAAAAAAAAAAAAAAECAwQQEhMx/9oACAEBAAEFApCwCtU4w7Cvb//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABwQAAEDBQAAAAAAAAAAAAAAAAEAERICICIjQf/aAAgBAQAGPwIRDlGVGXFsDGz/xAAcEAACAQUBAAAAAAAAAAAAAAABEQAQITFhkbH/2gAIAQEAAT8hMh9CnN4l7CZvsQyDr//aAAwDAQACAAMAAAAQ0+//xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAwEBPxBX/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAHRAAAgIBBQAAAAAAAAAAAAAAAREAIWEQMUFRcf/aAAgBAQABPxA0NFEoQyyIngtcVBc+oQgN1W1dE5ilSFhhrX//2Q==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"The Workflows screen with New Workflow, technique starting points, and saved workflows\",\n    \"title\": \"The Workflows screen with New Workflow, technique starting points, and saved workflows\",\n    \"src\": \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/4b190/workflows.jpg\",\n    \"srcSet\": [\"/docs/static/69f67bc4a3135fab017cea9d87c3569f/e07e9/workflows.jpg 200w\", \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/066f9/workflows.jpg 400w\", \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/4b190/workflows.jpg 800w\", \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/e5166/workflows.jpg 1200w\", \"/docs/static/69f67bc4a3135fab017cea9d87c3569f/356e8/workflows.jpg 1512w\"],\n    \"sizes\": \"(max-width: 800px) 100vw, 800px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"h2\", null, \"Step 2: Add and connect nodes\"), mdx(\"p\", null, \"On the canvas, each \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"node\"), \" performs one step, and you connect them so the output of one feeds the next. Click \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Add Node\"), \" (the + button in the canvas toolbar) to open the node palette, then drag or click to place nodes. The example below is a five-node Product Photography pipeline that runs in order: Product Photos, Batch, Remove Background, Studio Lighting, HD Upscale.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"800px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/356e8/workflow-canvas.jpg\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.49999999999999%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAeFlCqP/xAAWEAADAAAAAAAAAAAAAAAAAAABESD/2gAIAQEAAQUCKr//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAUEAEAAAAAAAAAAAAAAAAAAAAg/9oACAEBAAY/Al//xAAXEAEAAwAAAAAAAAAAAAAAAAABESAh/9oACAEBAAE/IQAh23//2gAMAwEAAgADAAAAEBDP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGhAAAgIDAAAAAAAAAAAAAAAAAAERIRBRgf/aAAgBAQABPxCwBldzBC2dyz//2Q==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"The DesignerBox canvas showing a connected five-node Product Photography workflow with each stage's result\",\n    \"title\": \"The DesignerBox canvas showing a connected five-node Product Photography workflow with each stage's result\",\n    \"src\": \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/4b190/workflow-canvas.jpg\",\n    \"srcSet\": [\"/docs/static/f0da9ad076c0543e48e886706fa0df9f/e07e9/workflow-canvas.jpg 200w\", \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/066f9/workflow-canvas.jpg 400w\", \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/4b190/workflow-canvas.jpg 800w\", \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/e5166/workflow-canvas.jpg 1200w\", \"/docs/static/f0da9ad076c0543e48e886706fa0df9f/356e8/workflow-canvas.jpg 1512w\"],\n    \"sizes\": \"(max-width: 800px) 100vw, 800px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"p\", null, \"See \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/features/workflows-and-canvas/node-types\"\n  }, \"Node types\"), \" for what each node does.\"), mdx(\"h2\", null, \"Step 3: Configure each node\"), mdx(\"p\", null, \"Select a node to set its options, for example the model on a generation node or the lighting on a relight node. Each node shows its own result preview as the workflow runs.\"), mdx(\"h2\", null, \"Step 4: Run\"), mdx(\"p\", null, \"Use \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Run All\"), \" in the top toolbar to run the whole pipeline, or run a single node. The canvas shows execution progress and a \\\"done\\\" state for each node as it completes. Credits are consumed per generation step.\"), mdx(\"h2\", null, \"Step 5: Save, reuse, and share\"), mdx(\"p\", null, \"Saved workflows appear under \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"My Workflows\"), \" with their node count, ready to run again. The canvas toolbar also offers \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Comments\"), \" for team review (threads pinned to the canvas) and \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Share\"), \", and you can publish a workflow to the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/docs/features/community\"\n  }, \"Community\"), \".\"));\n}\n;\nMDXContent.isMDXComponent = true;","rawBody":"---\ntitle: \"Workflows and the Canvas\"\nmetaTitle: \"Workflows and Canvas | DesignerBox\"\nmetaDescription: \"A step-by-step guide to building custom AI pipelines on the DesignerBox node canvas, from new workflow to run and share.\"\norder: 2\n---\n\n# Workflows and the Canvas\n\nA **workflow** is a custom AI media pipeline for image and video generation. You build it on the **canvas** by connecting nodes, then run and reuse it. This page walks through building and running one.\n\n## Step 1: Open Workflows and start one\n\nOpen **Workflows** from the sidebar. You can:\n\n- Select **New Workflow** to build a custom pipeline from scratch, or\n- **Start from a Technique** to begin with a ready-made recipe you can edit.\n\n![The Workflows screen with New Workflow, technique starting points, and saved workflows](../images/docs/workflows.jpg)\n\n## Step 2: Add and connect nodes\n\nOn the canvas, each **node** performs one step, and you connect them so the output of one feeds the next. Click **Add Node** (the + button in the canvas toolbar) to open the node palette, then drag or click to place nodes. The example below is a five-node Product Photography pipeline that runs in order: Product Photos, Batch, Remove Background, Studio Lighting, HD Upscale.\n\n![The DesignerBox canvas showing a connected five-node Product Photography workflow with each stage's result](../images/docs/workflow-canvas.jpg)\n\nSee [Node types](/features/workflows-and-canvas/node-types) for what each node does.\n\n## Step 3: Configure each node\n\nSelect a node to set its options, for example the model on a generation node or the lighting on a relight node. Each node shows its own result preview as the workflow runs.\n\n## Step 4: Run\n\nUse **Run All** in the top toolbar to run the whole pipeline, or run a single node. The canvas shows execution progress and a \"done\" state for each node as it completes. Credits are consumed per generation step.\n\n## Step 5: Save, reuse, and share\n\nSaved workflows appear under **My Workflows** with their node count, ready to run again. The canvas toolbar also offers **Comments** for team review (threads pinned to the canvas) and **Share**, and you can publish a workflow to the [Community](/features/community).\n","tableOfContents":{"items":[{"url":"#workflows-and-the-canvas","title":"Workflows and the Canvas","items":[{"url":"#step-1-open-workflows-and-start-one","title":"Step 1: Open Workflows and start one"},{"url":"#step-2-add-and-connect-nodes","title":"Step 2: Add and connect nodes"},{"url":"#step-3-configure-each-node","title":"Step 3: Configure each node"},{"url":"#step-4-run","title":"Step 4: Run"},{"url":"#step-5-save-reuse-and-share","title":"Step 5: Save, reuse, and share"}]}]},"parent":{"__typename":"File","relativePath":"en/features/workflows-and-canvas.md"},"frontmatter":{"metaTitle":"Workflows and Canvas | DesignerBox","metaDescription":"A step-by-step guide to building custom AI pipelines on the DesignerBox node canvas, from new workflow to run and share.","order":2}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/features","title":"Features"}}},{"node":{"fields":{"slug":"/guides","title":"Guides"}}},{"node":{"fields":{"slug":"/integrations","title":"Integrations"}}},{"node":{"fields":{"slug":"/pricing-faqs","title":"Pricing FAQs"}}},{"node":{"fields":{"slug":"/knowledge-base","title":"Knowledge Base"}}},{"node":{"fields":{"slug":"/features/avatars-and-models","title":"AI Character"}}},{"node":{"fields":{"slug":"/features/brand-profile","title":"Brand Profile and Library"}}},{"node":{"fields":{"slug":"/features/relighting-and-angles","title":"Relighting and Angles"}}},{"node":{"fields":{"slug":"/features/upscaling","title":"Upscaling"}}},{"node":{"fields":{"slug":"/features/image-generation","title":"AI Image"}}},{"node":{"fields":{"slug":"/features/virtual-try-on","title":"Virtual Try-On"}}},{"node":{"fields":{"slug":"/features/video","title":"AI Video"}}},{"node":{"fields":{"slug":"/guides/building-workflows-on-the-canvas","title":"Building Workflows on the Canvas"}}},{"node":{"fields":{"slug":"/guides/create-your-first-image","title":"Create Your First Image"}}},{"node":{"fields":{"slug":"/features/techniques-and-templates","title":"Techniques and Templates"}}},{"node":{"fields":{"slug":"/guides/teams-and-brand-profiles","title":"Teams and Brand Profiles"}}},{"node":{"fields":{"slug":"/features/community","title":"Community"}}},{"node":{"fields":{"slug":"/guides/using-techniques-and-templates","title":"Using Techniques and Templates"}}},{"node":{"fields":{"slug":"/features/workflows-and-canvas","title":"Workflows and the Canvas"}}},{"node":{"fields":{"slug":"/integrations/api","title":"API"}}},{"node":{"fields":{"slug":"/guides/creating-videos","title":"Creating Videos"}}},{"node":{"fields":{"slug":"/integrations/white-label","title":"White-Label"}}},{"node":{"fields":{"slug":"/knowledge-base/how-to-update-card-details","title":"How to Update Card Details"}}},{"node":{"fields":{"slug":"/knowledge-base/plans-credits-and-limits","title":"Plans, Credits, and Limits"}}},{"node":{"fields":{"slug":"/knowledge-base/understanding-declined-card-payments","title":"Understanding Declined Card Payments"}}},{"node":{"fields":{"slug":"/features/workflows-and-canvas/node-types","title":"Node Types"}}},{"node":{"fields":{"slug":"/features/image-generation/editing-modes","title":"Editing Modes"}}},{"node":{"fields":{"slug":"/","title":"DesignerBox Documentation"}}}]}},"pageContext":{"id":"b0b84b31-05bd-5abe-b9c0-9f99434772dc","locale":"en-GB"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}