INTEGRATIONS

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
  1. In n8n, open Settings → Community nodes → Install.
  2. Paste @j2i/n8n-nodes-j2i and confirm.
  3. Self-hosted: community packages must be enabled (N8N_COMMUNITY_PACKAGES_ENABLED).

Source: github.com/jsontoimg/n8n-nodes-j2i.

Credentials

  1. Create an API key under Integrations → API keys.
  2. In n8n, add jsontoimg API credentials.
  3. Paste the key. Leave Base URL as https://app.jsontoimg.com unless you self-host.

Requests send Authorization: Bearer <key> to /api/v1. Signed image downloads do not send the key.

First render

  1. Add a jsontoimg node.
  2. Resource Render, operation Create.
  3. Pick a Template from the list (or paste an ID).
  4. Put format, layers, and optional wait in 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

ResourceOperationPurpose
TemplateGet ManyList templates (limit / offset, optional project)
TemplateGet SchemaNamed layers for a template (optional version pin)
RenderCreateQueue a render; optional wait in Payload
RenderWaitBlock until done or timeout (max 60s)
RenderGetJob status
RenderGet Asset URLSigned origin download URL
RenderDownload AssetImage bytes as binary
BatchCreateQueue up to 50 jobs
BatchGetBatch status and child jobs
Signed ImageSignMint a signed GET /api/v1/img/{template} URL
Signed ImageSign ManyMint up to 50 signed URLs
Signed ImageDownloadFetch 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.

  1. Method POST, URL https://app.jsontoimg.com/api/v1/render?wait=60.
  2. Header Authorization: Bearer <your key>.
  3. JSON body:
{
  "template": "<design-id>",
  "format": "png",
  "layers": {
    "headline": { "text": "{{ $json.title }}" }
  }
}

Agents can skip n8n and use MCP.

On this page