Build with HumanTone
HumanTone for n8n.
Add HumanTone's AI humanizer and AI checker to any n8n workflow. Install the official community node for self-hosted n8n, or paste a ready-made HTTP Request config on n8n Cloud.
Two ways to call HumanTone from n8n:
Option 1
Community node
Best for self-hosted n8n.
- One node, three operations
- Visual config with dropdowns for level and format
- Type-safe outputs ready for downstream nodes
- Install once, reuse everywhere
Option 2
HTTP Request
Best for n8n Cloud, or any no-install setup.
- Three ready-to-import HTTP Request configs
- Works on every n8n version 1.50 and above
- No package install required
- Same API, same credits
Community node
Single n8n step that wraps the HumanTone humanizer API. Drag onto canvas, pick an operation, run. Includes credentials class with test endpoint, AI Agent tool framework support, and TypeScript output types.
Install
- 1
In your n8n instance, open Settings then Community Nodes.
- 2
Click Install.
- 3
Enter
n8n-nodes-humantone. - 4
Click Install and wait for completion.
- 5
The HumanTone node appears in your node list under Transform.
Set up credentials
- 1
Add a HumanTone node to any workflow.
- 2
Click Create New Credential.
- 3
Paste your API key from app.humantone.io/settings/api.
- 4
Click Test to verify, then Save.
Operations
| Operation | What it does |
|---|---|
| Humanize | Rewrites AI text to sound natural. Three levels, three output formats, optional custom instructions. |
| AI Checker | Returns an AI score from 0 to 100. Free, 30 checks per day per account. |
| Get Account | Returns your plan, credit balance, and subscription status. |
Use as an AI Agent tool
The node sets usableAsTool: true. Connect it to n8n's AI Agent and the agent can call humanize as a tool when generating text that should sound natural.
Resources
- npm package. npmjs.com/package/n8n-nodes-humantone
- GitHub repository. github.com/HumanTone/humantone-n8n
n8n Cloud users: community nodes are not installable on n8n Cloud. Use the HTTP Request configs below instead. Same API, same credits, no install required.
HTTP Request
You can call any HumanTone humanizer endpoint from n8n's built-in HTTP Request node. The configs below paste directly into your n8n canvas as fully wired nodes with the right URL, method, body parameters, and authentication. Works on n8n Cloud where installing a community node isn't an option, and on self-hosted n8n.
How to import
- 1
Copy the JSON for the operation you want.
- 2
In n8n, open any workflow canvas.
- 3
Press
Ctrl+V(orCmd+Von macOS), or right-click and choose Paste. - 4
The node appears on your canvas, pre-configured.
- 5
Click the node, open Credentials, and add a new HTTP Bearer Auth credential with your API key in the Bearer Token field.
Humanize
POST /v1/humanize
Rewrites AI text to sound natural. Returns the humanized content plus credits used and a request ID.
{
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.humantone.io/v1/humanize",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "content",
"value": ""
},
{
"name": "custom_instructions"
},
{
"name": "humanization_level",
"value": "standard"
},
{
"name": "output_format",
"value": "text"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [0,0],
"name": "HumanTone - Humanize",
"credentials": {
"httpBearerAuth": {}
}
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "0"
}
} Body parameters to configure in the node
| Parameter | Required | Notes |
|---|---|---|
| content | Yes | The text to humanize. Map from a previous node, e.g. {{$json.text}}. Minimum 30 words. |
| humanization_level | No | standard (default), advanced, or extreme. Advanced and Extreme are English only. |
| output_format | No | text, html, or markdown. Defaults to html in the API. The imported config sets text for plain output. |
| custom_instructions | No | Free-form guidance for tone, terms, audience. Max 1,000 characters. |
Response shape
{
"success": true,
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"content": "Your humanized text...",
"output_format": "text",
"credits_used": 3
} AI Checker
POST /v1/detect
Returns an AI likelihood score from 0 to 100. Higher means more AI patterns detected. Free, 30 checks per day per account, shared between the HumanTone web app and the API.
{
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.humantone.io/v1/detect",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "content",
"value": ""
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [0,0],
"name": "HumanTone - AI Checker",
"credentials": {
"httpBearerAuth": {}
}
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "0"
}
} Body parameters
| Parameter | Required | Notes |
|---|---|---|
| content | Yes | The text to analyze. |
Response shape
{
"success": true,
"ai_score": 87
}
When the daily limit is reached, the API returns HTTP 200 with success: false and a time_to_next_renew field (seconds until reset).
Get Account
GET /v1/account
Returns your plan, credit balance, and subscription status. Useful for checking remaining credits before kicking off a batch run.
{
"nodes": [
{
"parameters": {
"url": "https://api.humantone.io/v1/account",
"authentication": "genericCredentialType",
"genericAuthType": "httpBearerAuth",
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.4,
"position": [0,0],
"name": "HumanTone - Get Account",
"credentials": {
"httpBearerAuth": {}
}
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "0"
}
} Response shape
{
"plan": {
"id": "pro_monthly",
"name": "Pro Monthly",
"max_words": 1500,
"monthly_credits": 1000,
"api_access": true
},
"credits": {
"trial": 0,
"subscription": 820,
"extra": 150,
"total": 970
},
"subscription": {
"active": true,
"expires_at": "2026-05-08T00:00:00.000Z"
}
} Workflow examples
Example 1: AI text generation, humanized before publishing.
The most common pattern. Generate text with any AI node, then humanize before sending it to your CMS, Notion, Slack, or email.
Trigger → OpenAI / Anthropic / any AI node → HumanTone (Humanize) → Notion / CMS / Slack
In the HumanTone node, set content to the AI node's output, e.g. {{$json.message.content}}. Pick humanization_level: standard for most cases.
Example 2: AI Agent with HumanTone as a tool.
n8n's AI Agent node can use HumanTone operations as agent tools. Connect HumanTone (community node) to your agent, and the agent will call humanize on its own initiative when it generates text that should sound natural.
Trigger → AI Agent (with HumanTone connected as a tool) This works only with the community node. The HTTP Request alternative cannot be exposed as an AI Agent tool.
Example 3: Pre-batch credit check.
Before processing a batch of articles, check that you have enough credits. Avoids mid-batch failures.
Manual Trigger → HumanTone (Get Account) → IF (credits.total < 200) → Stop & Notify
↓ else
Loop over articles → HumanTone (Humanize) Limits
| Limit | Detail |
|---|---|
| Per-request word limit | Basic 750 · Standard 1,000 · Pro 1,500 |
| Minimum input | 30 words |
| Credits | Humanize uses 1 credit per 100 words. Detect and Get Account do not consume credits. |
| AI checker quota | 30 checks per day per account, shared between the HumanTone web app and the API. |
| API access | Included on all paid plans. Free trial accounts cannot use the API. |
| Plan support | Self-hosted n8n. Tested on n8n 1.50 and later. |
For the full error reference (HTTP codes, error messages, what each one means), see the API documentation.
Pricing
API and n8n calls share the same credit balance you already use in the app. No separate API pricing, no per-request fees, no platform surcharge.
| What you need | Where to get it |
|---|---|
| A paid plan (Basic, Standard, or Pro) | humantone.io/pricing |
| An API key | app.humantone.io/settings/api |
| More credits | Buy Extra Credits in your dashboard. No plan change required. |
FAQ
Other platforms
If you use HumanTone elsewhere:
| Platform | Path |
|---|---|
| Make | HumanTone for Make |
| Claude Desktop, Cursor, VSCode, any MCP client | MCP server |
| Direct API (any language) | API documentation |