n8n
Render jsontoimg templates from n8n with the official community node.
Install @j2i/n8n-nodes-j2i and add a jsontoimg node. Same /api/v1 contract as REST and MCP: pick a template, fill named layers, get PNG, JPG, WebP, AVIF, or PDF.
Requires n8n 1.60.0 or later.
Install
Follow n8n’s community node install guide. Package name:
@j2i/n8n-nodes-j2i- In n8n, open Settings → Community nodes → Install.
- Paste
@j2i/n8n-nodes-j2iand confirm. - Self-hosted: community packages must be enabled (
N8N_COMMUNITY_PACKAGES_ENABLED).
Source: github.com/jsontoimg/n8n-nodes-j2i.
Credentials
- Create an API key under Integrations → API keys.
- In n8n, add jsontoimg API credentials.
- Paste the key. Leave Base URL as
https://app.jsontoimg.comunless you self-host.
Requests send Authorization: Bearer <key> to /api/v1. Signed image downloads do not send the key.
First render
- Add a jsontoimg node.
- Resource Render, operation Create.
- Pick a Template from the list (or paste an ID).
- Put format, layers, and optional
waitin Payload:
{
"format": "png",
"wait": 60,
"layers": {
"headline": { "text": "{{ $json.title }}" }
}
}Map incoming n8n fields into layers. Template is the Template field, not the JSON. If wait is a number, Create blocks until the job finishes (max 60s). Without wait, Create queues the job; follow with Wait, Get, or Download Asset.
On success the JSON includes assetUrl (signed) when status is done. Use Download Asset when the next node needs binary (email, Drive, Slack).
Operations
| Resource | Operation | Purpose |
|---|---|---|
| Template | Get Many | List templates (limit / offset, optional project) |
| Template | Get Schema | Named layers for a template (optional version pin) |
| Render | Create | Queue a render; optional wait in Payload |
| Render | Wait | Block until done or timeout (max 60s) |
| Render | Get | Job status |
| Render | Get Asset URL | Signed origin download URL |
| Render | Download Asset | Image bytes as binary |
| Batch | Create | Queue up to 50 jobs |
| Batch | Get | Batch status and child jobs |
| Signed Image | Sign | Mint a signed GET /api/v1/img/{template} URL |
| Signed Image | Sign Many | Mint up to 50 signed URLs |
| Signed Image | Download | Fetch a signed image (no API key on GET; retries 503) |
Typical flow: Get Schema → Create (with wait) → Download Asset. For many rows, Batch (max 50) or a webhook instead of waiting in the node.
The node is marked usableAsTool, so n8n AI agents can call it.
These operations use the same /api/v1 contract as the API reference.
HTTP Request node
You can still POST with n8n’s HTTP Request node. Prefer the community node.
- Method
POST, URLhttps://app.jsontoimg.com/api/v1/render?wait=60. - Header
Authorization:Bearer <your key>. - JSON body:
{
"template": "<design-id>",
"format": "png",
"layers": {
"headline": { "text": "{{ $json.title }}" }
}
}Agents can skip n8n and use MCP.