{"_id":"@brightdeck/n8n-nodes-ai-slides","_rev":"3-43e81d867d77b5b9f2cf643a6de68b9c","name":"@brightdeck/n8n-nodes-ai-slides","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@brightdeck/n8n-nodes-ai-slides","version":"0.1.0","keywords":["n8n-community-node-package","brightdeck","presentations","slides","ai"],"author":{"name":"Brightdeck","email":"support@brightdeck.ai"},"license":"MIT","_id":"@brightdeck/n8n-nodes-ai-slides@0.1.0","maintainers":[{"name":"eddeck","email":"ed@brightdeck.ai"}],"homepage":"https://github.com/brightdeck/n8n-nodes-ai-slides#readme","bugs":{"url":"https://github.com/brightdeck/n8n-nodes-ai-slides/issues"},"n8n":{"nodes":["dist/nodes/AiSlidesByBrightdeck/AiSlidesByBrightdeck.node.js"],"strict":true,"credentials":["dist/credentials/AiSlidesByBrightdeckOAuth2Api.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"004b24f3e8fc3ce37c5b67e32c53e13cafac82de","tarball":"https://registry.npmjs.org/@brightdeck/n8n-nodes-ai-slides/-/n8n-nodes-ai-slides-0.1.0.tgz","fileCount":32,"integrity":"sha512-nf+52U5oYdlTUOl1x43F7zmb3LIBM8KaD+KM3jX6eRS99ahOWveuXGp/brj8b1/kWnCmdVNAZPAQkpsfJCSfpA==","signatures":[{"sig":"MEUCIQCdOr1kYM8KGRVEyTfGthUXFj31KTXzgxe+ebQdLrhcrAIgP27lccDnOwDirfZ3Oo5LKqZiceXU08i9PiY4jj0a60o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":351191},"engines":{"node":">=22"},"gitHead":"b5b43ca7a47f1328502548c69f2920f423f037d2","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"vitest run","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","audit-public":"node scripts/audit-public.mjs","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"eddeck","email":"ed@brightdeck.ai"},"repository":{"url":"git+https://github.com/brightdeck/n8n-nodes-ai-slides.git","type":"git"},"_npmVersion":"10.9.2","description":"A.I. Slides by Brightdeck — generate, manage, export, and share AI presentations from n8n","directories":{},"_nodeVersion":"23.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.0","devDependencies":{"eslint":"9.32.0","vitest":"^4.1.9","prettier":"3.6.2","release-it":"^19.0.4","typescript":"5.9.2","@n8n/node-cli":"^0.44.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-ai-slides_0.1.0_1786571148950_0.754958777392206","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@brightdeck/n8n-nodes-ai-slides","version":"0.1.1","keywords":["n8n-community-node-package","brightdeck","presentations","slides","ai"],"author":{"name":"Brightdeck","email":"support@brightdeck.ai"},"license":"MIT","_id":"@brightdeck/n8n-nodes-ai-slides@0.1.1","maintainers":[{"name":"eddeck","email":"ed@brightdeck.ai"}],"homepage":"https://github.com/brightdeck/n8n-nodes-ai-slides#readme","bugs":{"url":"https://github.com/brightdeck/n8n-nodes-ai-slides/issues"},"n8n":{"nodes":["dist/nodes/AiSlidesByBrightdeck/AiSlidesByBrightdeck.node.js"],"strict":true,"credentials":["dist/credentials/AiSlidesByBrightdeckOAuth2Api.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"8503b782fab42a01cf875234143aaf73d4173ef1","tarball":"https://registry.npmjs.org/@brightdeck/n8n-nodes-ai-slides/-/n8n-nodes-ai-slides-0.1.1.tgz","fileCount":32,"integrity":"sha512-Hu/sMIH1hQy7yT1g71t3+/too8bdUq96k5XkWTsSHhzquYmhDM+ZlByGuO4jyaLakEOp69RMvFema5EqJyUR8g==","signatures":[{"sig":"MEUCIQCsFVeCID6l/2TiUj603KMTnK0M5tbH1NfGPUYTEZ45kwIgZxMmW49TdWMiW8qmnY9O+C77fFOlRSMvuZUTGbZKKIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@brightdeck%2fn8n-nodes-ai-slides@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351191},"engines":{"node":">=22"},"gitHead":"3ce00d6ae8ddc56205f4f5d5d7f2ca63fb70d45f","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"vitest run","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","audit-public":"node scripts/audit-public.mjs","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:724bb33e-3e28-420e-a837-454172ba704f"}},"repository":{"url":"git+https://github.com/brightdeck/n8n-nodes-ai-slides.git","type":"git"},"_npmVersion":"11.16.0","description":"A.I. Slides by Brightdeck — generate, manage, export, and share AI presentations from n8n","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.0","devDependencies":{"eslint":"9.32.0","vitest":"^4.1.9","prettier":"3.6.2","release-it":"^19.0.4","typescript":"5.9.2","@n8n/node-cli":"^0.44.0"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-ai-slides_0.1.1_1786571852766_0.14924066213021447","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@brightdeck/n8n-nodes-ai-slides","version":"0.1.2","description":"A.I. Slides by Brightdeck — generate, manage, export, and share AI presentations from n8n","license":"MIT","author":{"name":"Brightdeck","email":"support@brightdeck.ai"},"homepage":"https://github.com/brightdeck/n8n-nodes-ai-slides#readme","bugs":{"url":"https://github.com/brightdeck/n8n-nodes-ai-slides/issues"},"repository":{"type":"git","url":"git+https://github.com/brightdeck/n8n-nodes-ai-slides.git"},"keywords":["n8n-community-node-package","brightdeck","presentations","slides","ai"],"engines":{"node":">=22"},"packageManager":"pnpm@10.17.0","publishConfig":{"access":"public"},"scripts":{"build":"n8n-node build","build:watch":"tsc --watch","dev":"n8n-node dev","lint":"n8n-node lint","lint:fix":"n8n-node lint --fix","test":"vitest run","release":"n8n-node release","prepublishOnly":"n8n-node prerelease","audit-public":"node scripts/audit-public.mjs"},"n8n":{"n8nNodesApiVersion":1,"strict":true,"credentials":["dist/credentials/AiSlidesByBrightdeckOAuth2Api.credentials.js"],"nodes":["dist/nodes/AiSlidesByBrightdeck/AiSlidesByBrightdeck.node.js"]},"peerDependencies":{"n8n-workflow":"*"},"devDependencies":{"@n8n/node-cli":"^0.44.0","eslint":"9.32.0","prettier":"3.6.2","release-it":"^19.0.4","typescript":"5.9.2","vitest":"^4.1.9"},"gitHead":"0066198097dcb6c5a20b459d8f53acba6b111917","_id":"@brightdeck/n8n-nodes-ai-slides@0.1.2","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-aQxVqYSDA83h/3d4MWsnrjEhDg6cDPpZJx0Buvl79WLDDyMMnQzzRuex7uyhAliOmWj6vMM02NjTv75+aLii6g==","shasum":"0d6efad110b57d42aa179c10b6b116e3b70dc6ff","tarball":"https://registry.npmjs.org/@brightdeck/n8n-nodes-ai-slides/-/n8n-nodes-ai-slides-0.1.2.tgz","fileCount":32,"unpackedSize":351319,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@brightdeck%2fn8n-nodes-ai-slides@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCID8HKIAIjNiJw6o27hsXARi9jO3TwBAGX1PKim93Jq+sAiEAriMXe34TDvbAxGzZLsvrJY+/cSV7t2Oa2wEOKjCZkRY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:724bb33e-3e28-420e-a837-454172ba704f"}},"directories":{},"maintainers":[{"name":"eddeck","email":"ed@brightdeck.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-ai-slides_0.1.2_1787879181026_0.44064718030674355"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-12T21:45:48.685Z","modified":"2026-08-28T01:06:21.698Z","0.1.0":"2026-08-12T21:45:49.127Z","0.1.1":"2026-08-12T21:57:32.905Z","0.1.2":"2026-08-28T01:06:21.322Z"},"bugs":{"url":"https://github.com/brightdeck/n8n-nodes-ai-slides/issues"},"author":{"name":"Brightdeck","email":"support@brightdeck.ai"},"license":"MIT","homepage":"https://github.com/brightdeck/n8n-nodes-ai-slides#readme","keywords":["n8n-community-node-package","brightdeck","presentations","slides","ai"],"repository":{"type":"git","url":"git+https://github.com/brightdeck/n8n-nodes-ai-slides.git"},"description":"A.I. Slides by Brightdeck — generate, manage, export, and share AI presentations from n8n","maintainers":[{"name":"eddeck","email":"ed@brightdeck.ai"}],"readme":"# @brightdeck/n8n-nodes-ai-slides\n\nThis is an n8n community node. It lets you use **A.I. Slides by Brightdeck** in your n8n workflows.\n\n[Brightdeck](https://brightdeck.ai) generates polished, editable slide decks from a text prompt. This node lets workflows create presentations with AI, track generation progress, update and share decks, and export them as PPTX or PDF.\n\n[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.\n\n[Installation](#installation)\n[Operations](#operations)\n[Credentials](#credentials)\n[Compatibility](#compatibility)\n[Usage](#usage)\n[Resources](#resources)\n[Development](#development)\n[Version history](#version-history)\n\n## Installation\n\nFollow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.\n\nPackage name: `@brightdeck/n8n-nodes-ai-slides`\n\n## Operations\n\n| Resource | Operation | Description |\n|---|---|---|\n| Presentation | Generate With AI | Create a full deck from a prompt (30–120 s; see [Usage](#usage) for timeouts) |\n| Presentation | Create Blank | Create an empty presentation |\n| Presentation | Get | Fetch a presentation's metadata (filename, slide count, visibility, view URL) |\n| Presentation | Get Many | List your presentations |\n| Presentation | Update | Rename a deck, change visibility, or adjust page numbers |\n| Presentation | Get Share Link | Get the share link and visibility |\n| Task | Get Status | Poll the status of an AI generation task |\n| Export | Export as PPTX | Get a download URL for a PowerPoint export |\n| Export | Export as PDF | Get a download URL for a PDF export |\n| Permission | Get Many | List who has access to a presentation |\n| Permission | Share | Share a presentation with someone |\n| Permission | Revoke | Revoke someone's access |\n\nThe node is also usable as a tool by n8n AI Agents (`usableAsTool`).\n\n## Credentials\n\nYou need a [Brightdeck](https://brightdeck.ai) account (free tier works).\n\n1. In n8n, create an **A.I. Slides by Brightdeck OAuth2 API** credential.\n2. Click **Connect** — there are no fields to fill in.\n3. Sign in on the Brightdeck consent page (\"A.I. Slides by Brightdeck wants to access your Brightdeck account\").\n\nThe credential uses OAuth 2.1 with PKCE against `api.brightdeck.ai`; no client secret or API key is involved.\n\n## Compatibility\n\nRequires n8n version 1.100.0 or later. Developed and tested against current n8n releases.\n\n## Usage\n\n- **Generate With AI** runs 30–120 seconds server-side. The operation uses a 180-second request timeout; for long decks prefer the async pattern: **Generate With AI** → loop **Task: Get Status** until `completed` → **Export as PPTX**.\n- Credit exhaustion is returned as structured data with `stage: \"upgrade_required\"` rather than an error, so workflows can branch on it; a slide count above your plan cap is clamped and reported in `slide_clamp_info` / `plans_url`.\n- Every operation has a **Simplify** toggle (on by default): simplified output is the tool's structured data; turn it off to get the raw MCP result (narration text + structured content).\n- **Get Many** operations return one n8n item per presentation/permission and follow the standard **Return All** / **Limit** convention.\n\n### Example 1: Generate a deck and export it as PPTX\n\n1. **Manual Trigger** (or any trigger).\n2. **A.I. Slides by Brightdeck** — Resource: *Presentation*, Operation: *Generate With AI*.\n   - **Prompt**: `A 8-slide product update for Q3: shipped features, adoption metrics, roadmap.`\n   - Options → **Number of Slides**: `8` (optional).\n   - To ground the deck in reference files, feed binary data into the node (e.g. from *Read/Write Files from Disk* or an *HTTP Request*) and set Options → **Input Binary Fields** to the binary field name(s), e.g. `data`.\n   - Output includes `presentation_id`, `view_url`, and `stage: \"generating\"` — generation continues in the background.\n3. **Wait** — 15 seconds.\n4. **A.I. Slides by Brightdeck** — Resource: *Task*, Operation: *Get Status* with **Presentation** set to `{{ $('Generate').item.json.presentation_id }}` (By ID).\n5. **If** — condition `{{ $json.status }}` equals `completed`. False branch loops back to the **Wait** node; true branch continues.\n6. **A.I. Slides by Brightdeck** — Resource: *Export*, Operation: *Export as PPTX*, same presentation ID.\n   - Output contains a 60-minute signed `download_url` plus `filename` — pass it to an **HTTP Request** node to download, or share the URL directly.\n\nBranch tip: when the Generate output has `stage: \"upgrade_required\"`, the account is out of credits — nothing was created. Add an **If** on that field to notify instead of polling.\n\n### Example 2: Use the node as an AI Agent tool\n\n1. Add an **AI Agent** node (with any chat model).\n2. Under **Tools**, add **A.I. Slides by Brightdeck** — the node is `usableAsTool`, so every operation is exposed to the agent. Add one tool per operation you want the agent to use (e.g. *Generate With AI*, *Presentation: Get Many*, *Export as PPTX*) and let parameters be filled **From AI**.\n3. Connect your Brightdeck credential on each tool instance.\n4. Prompt the agent, e.g. *\"Make a 6-slide deck about our hiring plan and give me the share link\"* — the agent chains Generate → Get Share Link on its own.\n\n## Resources\n\n- [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)\n- [Brightdeck MCP & integrations documentation](https://brightdeck.ai/docs/mcp)\n\n## Development\n\nThis package is self-contained: `pnpm install && pnpm lint && pnpm build`.\n\n- `pnpm dev` starts a local n8n with the node loaded (via `@n8n/node-cli`).\n- `pnpm run audit-public` scans tracked files for content that must not be published (internal paths, hostnames, credential-shaped strings). Run it before every release.\n- `pnpm test` runs the unit tests (vitest): MCP transport + node operation routing.\n- **Use an LTS Node (22 or 24) for `pnpm dev`.** It launches n8n via `npx n8n@latest`, whose native dependencies ship no prebuilds for odd/non-LTS Node versions — the install dies mid-build with exit 1 (seen on Node 23: `@sentry/node-cpu-profiler` node-gyp failure). If a failed install has poisoned the cache, clear it with `rm -rf \"$HOME/.npm/_npx/<hash>\"` before retrying. Example: `PATH=\"/opt/homebrew/opt/node@22/bin:$PATH\" pnpm dev`.\n- OAuth against production from local dev (verified procedure): the Brightdeck authorization server only allows `https://` redirect URIs for n8n instance callbacks, so a plain `http://localhost:5678` n8n cannot complete the OAuth flow. Put an HTTPS tunnel in front of local n8n and make n8n build its callback from the tunnel host:\n  1. `ngrok http 5678` → note the `https://<name>.ngrok-free.dev` URL.\n  2. `N8N_EDITOR_BASE_URL=https://<name>.ngrok-free.dev WEBHOOK_URL=https://<name>.ngrok-free.dev pnpm dev`\n  3. Open the **tunnel URL** in the browser (not localhost) and log in to n8n there. n8n's OAuth callback is bound to the browser's n8n session — a sign-in started outside a logged-in n8n page fails with `Unauthorized` at the callback.\n  4. Create the \"A.I. Slides by Brightdeck OAuth2 API\" credential and click *Connect my account*; the consent page must show \"A.I. Slides by Brightdeck\".\n\n## Version history\n\nSee [CHANGELOG.md](CHANGELOG.md).\n","readmeFilename":"README.md"}