Key Capabilities
- Self-hosted option
- Open source
- Custom nodes support
- Full data control
Common Use Cases
- Webhook from your app Render a share image Store the URL in your own database USE TEMPLATE
- Nightly schedule Render the daily report card Upload it to your own S3 bucket USE TEMPLATE
- New record in Postgres Render a badge Attach it back to the record USE TEMPLATE
Integration Guide
-
Store Your API Key as a Credential
In n8n, go to Settings → Credentials → Add Credential. Create a "Header Auth" credential with your Pictify API key.
CODEName: Pictify API Header Auth: Name: Authorization Value: Bearer YOUR_API_KEYTIP Using credentials keeps your API key secure and reusable across workflows.
-
Create a New Workflow
Click "New Workflow" in n8n. Add a trigger node: use Manual Trigger for testing or Webhook/Schedule for production.
-
Add an HTTP Request Node
Add an "HTTP Request" node and connect it to your trigger. This will call the Pictify API.
-
Configure the HTTP Request
Set up the node to POST to Pictify's render endpoint with your template configuration.
CODEMethod: POST URL: https://api.pictify.io/v1/render Authentication: Predefined Credential Type Credential Type: Header Auth Credential: Pictify API (created in step 1) Send Headers: ON Header Parameters: Content-Type: application/json Send Body: ON Body Content Type: JSON Specify Body: Using Fields Below Body Parameters: templateId: your-template-id format: png variables: { "title": "{{ $json.title }}", "subtitle": "{{ $json.subtitle }}" }TIP Use n8n expressions like {{ $json.fieldName }} to map data from previous nodes.
-
Test the Workflow
Click "Execute Workflow" to run a test. The HTTP node output will contain the generated image URL.
CODE// Success output from HTTP node: { "success": true, "imageUrl": "https://cdn.pictify.io/renders/abc123.png", "renderTime": 1.5 } -
Process the Response
Add subsequent nodes to use the image URL. Common options: save to disk, upload to S3, update database, or send notification.
CODE// Access the image URL in subsequent nodes: {{ $json.imageUrl }} // Example: Download the image with another HTTP node Method: GET URL: {{ $json.imageUrl }} Response Format: File -
Batch Processing with Loop
For generating multiple images, use the SplitInBatches node to process items one at a time and avoid rate limits.
CODE// Workflow structure for batch: Trigger → Get Data → SplitInBatches → HTTP Request (Pictify) → Merge → Save Results // SplitInBatches settings: Batch Size: 1 Options: Add pause between batches (1 second)TIP The SplitInBatches node is essential for processing arrays without overwhelming the API.
NO CODE REQUIRED
Ready to build with n8n?
Grab a free API key, pick a template, and your first render comes back in about 15 minutes.