sarvamai/n8n-sarvam-node
TypeScript
Captured source
source ↗sarvamai/n8n-sarvam-node
Language: TypeScript
License: MIT
Stars: 0
Forks: 0
Open issues: 1
Created: 2026-02-27T12:52:34Z
Pushed: 2026-04-21T15:20:49Z
Default branch: main
Fork: no
Archived: no
README:
n8n-nodes-sarvam
This is an n8n community node for Sarvam AI — Indian language AI APIs for transcription, speech synthesis, and chat across 22+ Indian languages.
Installation
Follow the n8n community nodes installation guide.
In n8n, go to Settings > Community Nodes and install:
n8n-nodes-sarvam
Authentication
You need a Sarvam AI API key. Get one from the Sarvam AI Dashboard after signing up. You receive ₹1000 free credits on signup.
In n8n, create a new Sarvam AI API credential and paste your API key.
Operations
Speech
| Operation | Description | |---|---| | Speech to Text | Transcribe audio files with multiple modes — transcribe, translate to English, transliterate (roman), code-mixed, and verbatim | | Text to Speech | Convert text to natural-sounding speech with 39 voice options |
Chat
| Operation | Description | |---|---| | Complete | Generate chat completions using Sarvam AI language models |
Speech to Text Modes
| Mode | Description | |---|---| | Transcribe | Standard transcription in the original language | | Translate to English | Translate speech from any Indic language to English | | Transliterate (Roman) | Romanize speech to Latin script | | Code Mixed | English words in English, Indic words in native script | | Verbatim | Exact word-for-word transcription without normalization |
Supported Languages
Speech to Text (23 languages): Assamese, Bengali, Bodo, Dogri, English, Gujarati, Hindi, Kannada, Kashmiri, Konkani, Maithili, Malayalam, Manipuri, Marathi, Nepali, Odia, Punjabi, Sanskrit, Santali, Sindhi, Tamil, Telugu, Urdu.
Text to Speech (11 languages): Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu.
Chat: Supports all languages via sarvam-105b (flagship) and sarvam-30b models.
Publishing (maintainers)
Releases go to npm from GitHub Actions with npm provenance, per n8n’s publishing rules.
1. On npm, add Trusted Publishers for this package: GitHub Actions, repository vinayak-sarvam/n8n-sarvam-node, workflow `publish.yml`. Alternatively, store an `NPM_TOKEN` secret in GitHub (granular token with write access to this package). 2. Either:
- Tag the version already in `package.json`: with
mainat the version you want (for example0.1.6), rungit tag 0.1.6 && git push origin 0.1.6, or - Interactive bump: on
main, run `npm run release` to bump the version, update the changelog, commit, tag, and push (nothing is published from your laptop).
3. Pushing a semver tag matching *.*.* triggers [.github/workflows/publish.yml](.github/workflows/publish.yml), which runs lint, build, and `npm publish` with provenance.
Publish from your machine (interim)
For a manual publish while CI is sorted out, log in to npm (npm login or a valid ~/.npmrc token), then from the repo root:
npm run publish:cli
That runs lint, build, then `npm publish` with `RELEASE_MODE=true` (so prepublishOnly passes) and `--provenance=false` (local publishes cannot satisfy publishConfig.provenance the way CI does). n8n Cloud verification still expects a GitHub Actions publish with provenance when you submit.
If `npm whoami` or publish returns `401 Unauthorized`, npm is using a bad or revoked token (or a stale line in an `.npmrc`). Run `npm logout`, delete any `//registry.npmjs.org/` auth lines in `~/.npmrc` and in this repo’s `.npmrc` if you created one, revoke the old token on npmjs.com, then `npm login` or set a new granular write token. Do not commit `.npmrc` (it is gitignored).
Keep `package.json` `version` and `nodes/` on `main` aligned with what you intend to ship; the published tarball must match this repository.
If the Publish workflow shows provenance then `E404` on `PUT …/n8n-nodes-sarvam`: that response usually means no publish permission (not a missing package). Use npm ≥11.5.1, Node ≥22.14, and a `repository.url` that matches this GitHub repo. For Trusted Publishers (OIDC) only: remove the `environment: NPM_TOKEN` line from [.github/workflows/publish.yml](.github/workflows/publish.yml) if you do not use that GitHub Environment (otherwise the job can fail before publish). Delete any unused `NPM_TOKEN` secret; the workflow uses `NODE_AUTH_TOKEN=""` with registry-url for OIDC (see setup-node#1440). For token publish, keep `NPM_TOKEN`. If that value is stored under Settings → Environments → … → Environment secrets, the workflow job must declare `environment: ` (this repo uses `NPM_TOKEN`) or GitHub never injects the secret and you get `ENEEDAUTH`. Repository-level Actions secrets do not need environment:.
If the log shows `NPM_TOKEN length: …` but `npm whoami` → 401, the secret value is not a valid npm credential (revoked, expired, typo, or not Read and write for n8n-nodes-sarvam). Create a new granular token on npmjs.com while logged in as `vinayak-sarvam`, paste the full value into the `NPM_TOKEN` environment secret, and re-run the workflow. `npm whoami` in the log must succeed and print `vinayak-sarvam` before publish.
Resources
License
[MIT](LICENSE.md)
Notability
notability 5.0/10New n8n integration node for Sarvam AI services