{"_id":"@aipowergrid/n8n-nodes-aipg","_rev":"3-fee92047e9e33ee3a5be6968a0eae140","name":"@aipowergrid/n8n-nodes-aipg","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.1":{"name":"@aipowergrid/n8n-nodes-aipg","version":"0.1.1","keywords":["n8n-community-node-package","n8n","aipg","ai-power-grid","generative-ai"],"author":{"name":"AI Power Grid","email":"admin@aipowergrid.io"},"license":"MIT","_id":"@aipowergrid/n8n-nodes-aipg@0.1.1","maintainers":[{"name":"halfaipg","email":"half@aipowergrid.io"}],"homepage":"https://docs.aipowergrid.io","bugs":{"url":"https://github.com/AIPowerGrid/grid-provider-integrations/issues"},"n8n":{"nodes":["dist/nodes/AiPowerGrid/AiPowerGrid.node.js"],"strict":true,"credentials":["dist/credentials/AipgApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"b00e21a62ebc08f558a017a73847ba7eafb4f4a3","tarball":"https://registry.npmjs.org/@aipowergrid/n8n-nodes-aipg/-/n8n-nodes-aipg-0.1.1.tgz","fileCount":20,"integrity":"sha512-TBtckiDZUhi3aqKRfY1MJFvvg8pJPPR9ar5GBV1+HIaE18SRkGSCW4sBWZrRlQbOYcvq/XUVHqES0/koFVVWKg==","signatures":[{"sig":"MEUCIQD+sVUQ5s+tWBcIWBQ4tUiUVApsnOE8Dr1Wh8DL9xbMwAIgNWUtgVJBpI06qrHoW400O92dNEo/c4jh5Sn1JUmLCPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aipowergrid%2fn8n-nodes-aipg@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53341},"engines":{"node":">=22.0.0"},"gitHead":"fce541ec039399be8e985a66944d2262cd2cc55f","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"npm run build && node --test test/*.test.mjs","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:e2e:live":"npm run build && node --test test/live.e2e.test.mjs","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"halfaipg","email":"half@aipowergrid.io"},"repository":{"url":"git+https://github.com/AIPowerGrid/grid-provider-integrations.git","type":"git","directory":"n8n-nodes-aipg"},"_npmVersion":"11.17.0","description":"AI Power Grid text, image, video, and audio generation for n8n","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.17.0","devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","typescript":"5.9.3","@n8n/node-cli":"0.45.5"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aipg_0.1.1_1788039565200_0.5286776566945175","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aipowergrid/n8n-nodes-aipg","version":"0.1.2","keywords":["n8n-community-node-package","n8n","aipg","ai-power-grid","generative-ai"],"author":{"name":"AI Power Grid","email":"admin@aipowergrid.io"},"license":"MIT","_id":"@aipowergrid/n8n-nodes-aipg@0.1.2","maintainers":[{"name":"halfaipg","email":"half@aipowergrid.io"}],"homepage":"https://docs.aipowergrid.io","bugs":{"url":"https://github.com/AIPowerGrid/grid-provider-integrations/issues"},"n8n":{"nodes":["dist/nodes/AiPowerGrid/AiPowerGrid.node.js"],"strict":true,"credentials":["dist/credentials/AipgApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"bada4a65d9adcbc9969275b809ac6a96cbe00632","tarball":"https://registry.npmjs.org/@aipowergrid/n8n-nodes-aipg/-/n8n-nodes-aipg-0.1.2.tgz","fileCount":20,"integrity":"sha512-sdPd54WJhEx3oQIlS4lOeBAOCtzZUqK++vwRiFaHKbkvPXz1Ko0X5Z8AMwHCBr4MfDqbvNGmonuljm2sLy/ZWQ==","signatures":[{"sig":"MEUCIQC9bIUc+IAm4UbsmGhLYp//8BXIWHT4IcstkkymjUW+vgIgRh0lEVmt+VD/7T0oNXXHVu5/u8a+5OOnLgWjx8IYANY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aipowergrid%2fn8n-nodes-aipg@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54880},"engines":{"node":">=22.0.0"},"gitHead":"447a56b1a40b8ff5318315eecad91c0ed0c33be1","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"npm run build && node --test test/*.test.mjs","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:e2e:live":"npm run build && node --test test/live.e2e.test.mjs","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68a2b082-e396-4895-872c-7ff1a7070463"}},"repository":{"url":"git+https://github.com/AIPowerGrid/grid-provider-integrations.git","type":"git","directory":"n8n-nodes-aipg"},"_npmVersion":"11.17.0","description":"AI Power Grid text, image, video, and audio generation for n8n","directories":{},"_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"npm@11.17.0","devDependencies":{"eslint":"9.39.4","prettier":"3.8.3","typescript":"5.9.3","@n8n/node-cli":"0.45.5"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-aipg_0.1.2_1788044935826_0.882783571723194","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aipowergrid/n8n-nodes-aipg","version":"0.1.3","description":"AI Power Grid text, image, video, and audio generation for n8n","license":"MIT","homepage":"https://github.com/AIPowerGrid/n8n-nodes-aipg#readme","keywords":["n8n-community-node-package","n8n","aipg","ai-power-grid","generative-ai"],"author":{"name":"AI Power Grid","email":"admin@aipowergrid.io"},"repository":{"type":"git","url":"git+https://github.com/AIPowerGrid/n8n-nodes-aipg.git"},"bugs":{"url":"https://github.com/AIPowerGrid/n8n-nodes-aipg/issues"},"scripts":{"build":"n8n-node build","dev":"n8n-node dev","lint":"n8n-node lint","lint:fix":"n8n-node lint --fix","test":"npm run build && node --test test/*.test.mjs","test:e2e:live":"npm run build && node --test test/live.e2e.test.mjs","release":"n8n-node release","prepublishOnly":"n8n-node prerelease"},"publishConfig":{"access":"public"},"n8n":{"n8nNodesApiVersion":1,"strict":true,"credentials":["dist/credentials/AipgApi.credentials.js"],"nodes":["dist/nodes/AiPowerGrid/AiPowerGrid.node.js"]},"devDependencies":{"@n8n/node-cli":"0.46.0","eslint":"9.39.4","prettier":"3.8.3","typescript":"5.9.3"},"peerDependencies":{"n8n-workflow":"*"},"engines":{"node":">=22.0.0"},"packageManager":"npm@11.17.0","gitHead":"c90d980ae41c138faeb4c193381ff07de56245a7","_id":"@aipowergrid/n8n-nodes-aipg@0.1.3","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-ckmtySM8up5uiDIUN9E5AZOi2H6HKDp9lIyRnMk3lOJrNisnARcqlB18//laRbjnngPS1xbx0PwdwXuCxT9D6g==","shasum":"8f1a3e907b31a8def28f44ad2095dcbe0f44dd32","tarball":"https://registry.npmjs.org/@aipowergrid/n8n-nodes-aipg/-/n8n-nodes-aipg-0.1.3.tgz","fileCount":20,"unpackedSize":55093,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aipowergrid%2fn8n-nodes-aipg@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAaoCY6Sn9DH8VJaKJO8yEQegypIe+mlxtVAd+goKh8hAiEA2w8zXYEAl9LniN3mWAAR63r5pIrrrHi0iGxcAEAXpQg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7efbd5af-b506-4f3b-b0b5-fc4cc8a94d65"}},"directories":{},"maintainers":[{"name":"halfaipg","email":"half@aipowergrid.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-aipg_0.1.3_1788068580562_0.2119421565042805"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-29T21:39:25.010Z","modified":"2026-08-30T05:43:01.009Z","0.1.1":"2026-08-29T21:39:25.361Z","0.1.2":"2026-08-29T23:08:55.963Z","0.1.3":"2026-08-30T05:43:00.688Z"},"bugs":{"url":"https://github.com/AIPowerGrid/n8n-nodes-aipg/issues"},"author":{"name":"AI Power Grid","email":"admin@aipowergrid.io"},"license":"MIT","homepage":"https://github.com/AIPowerGrid/n8n-nodes-aipg#readme","keywords":["n8n-community-node-package","n8n","aipg","ai-power-grid","generative-ai"],"repository":{"type":"git","url":"git+https://github.com/AIPowerGrid/n8n-nodes-aipg.git"},"description":"AI Power Grid text, image, video, and audio generation for n8n","maintainers":[{"name":"halfaipg","email":"half@aipowergrid.io"}],"readme":"# n8n Nodes for AI Power Grid\n\nUse AI Power Grid in n8n workflows for text, image, video, and audio\ngeneration. The node discovers currently advertised models instead of shipping\na stale model catalog.\n\n## Credentials\n\nCreate a server-side API key in the\n[Grid console](https://console.aipowergrid.io/dashboard/api-key). The key needs\nthe `account.read` and `inference.submit` scopes carried by ordinary\nprogrammatic keys. `account.read` lets n8n validate the credential without\nspending credit; `inference.submit` authorizes generation. Add it to an **AI\nPower Grid API** credential in n8n. n8n stores the secret and adds it as a\nbearer token. The key is never a workflow field.\n\nDo not put the key in browser code, workflow JSON, expressions, prompts, or\nscreenshots. Give production workflows a separate, revocable key with only the\nscopes they need.\n\n## Operations\n\n- **Generate Text** calls `/v1/chat/completions` and returns the completed\n  OpenAI-style response. Standard n8n node executions do not relay SSE to the\n  editor, so this operation deliberately uses `stream: false`.\n- **Generate Image** calls `/v1/images/generations` for text-to-image. The\n  first package does not claim img2img support because binary source handling\n  needs a dedicated upload contract. Its model picker includes only workers\n  advertising `txt2img`.\n- **Generate Video** calls `/v1/videos/generations` for text-to-video.\n  Its model picker excludes workers advertising only `img2video`.\n- **Generate Audio** calls `/v1/audio/generations` for ACE-Step music, with\n  optional lyrics and governed controls.\n\nImage, video, and audio executions wait for the worker result and return the\nGrid response, including result URLs and provenance metadata. Their request\ntimeouts follow Core's current modality deadlines. Use n8n queue mode and\nworker execution timeouts appropriate for long media jobs.\n\n## Example workflows\n\n- **Support draft:** Manual Trigger -> AI Power Grid (`Generate Text`) ->\n  Slack. Map the incoming support message into `Prompt`, then send\n  `choices[0].message.content` to Slack for review.\n- **Campaign artwork:** Schedule Trigger -> AI Power Grid (`Generate Image`)\n  -> HTTP Request. Generate one image, then download the first returned result\n  URL into n8n binary data for the next publishing step.\n- **Podcast bumper:** Form Trigger -> AI Power Grid (`Generate Audio`) ->\n  cloud storage. Map the submitted style notes into `Music Description`, use a\n  short bounded duration, and store the returned audio URL.\n\nStart with a Manual Trigger while building a workflow. Run one item, inspect\nthe Grid response in the output panel, and map only the fields needed by the\nnext node. Availability is dynamic, so select a currently advertised model\ninstead of relying on an old saved model name.\n\n## Errors and credits\n\nGrid HTTP errors are surfaced as n8n node errors. Common statuses are:\n\n- `401`: invalid or revoked API key\n- `402`: insufficient usable credits\n- `404`: model no longer available\n- `422`: request or model parameter is unsupported\n- `429`: rate or concurrency limit reached\n- `503`: no compatible worker is online\n\nFund the same Grid account at\n[console.aipowergrid.io](https://console.aipowergrid.io/dashboard/funding).\nRetry only operations your workflow can safely repeat; a media timeout does not\nprove that the remote job failed.\n\n## Privacy and positioning\n\nGrid requests are routed to remote community-operated workers. Workers may be\nable to inspect plaintext prompts, source material, and outputs. Do not send\nsecrets, personal or regulated data, or confidential source code unless a\nseparately verified confidential-compute deployment satisfies your needs.\n\nThis package is maintained by AI Power Grid. It does not imply a partnership\nwith or endorsement by n8n.\n\n## Development\n\nNode.js 22 or newer is required.\n\n```bash\nnpm ci\nnpm test\nnpm run lint\nnpm run build\nnpm pack --dry-run\n```\n\nA credentialed release check must exercise one bounded request in every\noperation before publication. Those checks spend account credit and are not\npart of the default test suite:\n\n```bash\nAIPG_LIVE_E2E=1 npm run test:e2e:live\n```\n\nUse a disposable `account.read` + `inference.submit` key and revoke it after the\nrun. The live test does not print the key, prompts, generated media URLs, model\noutput, or account balance.\n\n## Release\n\n`@aipowergrid/n8n-nodes-aipg@0.1.2` is the current public package. Version\n`0.1.3` moves its npm provenance to this dedicated repository so n8n's Creator\nPortal can resolve credential source files at the repository root. Release it\nonly through `.github/workflows/publish.yml` and the npm OIDC Trusted Publisher\nfor this repository. The workflow rejects a tag that does not exactly match\n`package.json`, requires the release commit to be on `main`, and reruns the\npackage checks before publishing. The one-time bootstrap token is revoked; do\nnot restore a registry token.\n","readmeFilename":"README.md"}