Package Information
Available Nodes
Documentation
n8n-nodes-contentdrips-api

This is an n8n community node that lets you use Contentdrips in your n8n workflows.
Contentdrips is a powerful API for creating carousels and static graphics programmatically. It enables you to automate content creation using templates, making it perfect for social media automation, marketing campaigns, and content generation workflows.
n8n is a fair-code licensed workflow automation platform.
Installation
Follow the installation guide in the n8n community nodes documentation.
GUI Installation
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-contentdrips-api - Select Install
Manual Installation
To get started, install the package in your n8n root directory:
npm install n8n-nodes-contentdrips-api
For Docker installations, add the following line before the font installation command in your n8n Dockerfile:
RUN cd /usr/local/lib/node_modules/n8n && npm install n8n-nodes-contentdrips-api
Operations
Graphic Resource
- Create: Generate a static graphic using a Contentdrips template
Carousel Resource
- Create: Generate a multi-slide carousel using a Contentdrips template
Job Resource
- Get Status: Check the processing status of a job
- Get Result: Get the final result of a completed job
Credentials
You need to authenticate with the Contentdrips API using an API token.
Prerequisites
- Sign up for a Contentdrips account
- Create an API token in your API Management dashboard
Setup
- In n8n, go to Credentials and create a new Contentdrips API credential
- Enter your API token
- Save the credential
Configuration
Template Setup
Before using this node, you need to:
- Create templates in your Contentdrips dashboard
- Label the elements you want to update dynamically:
- Right-click on textboxes or images in the template editor
- Select "Add Label" and give it a name (e.g.,
title_1,hashtag_1) - Use these labels in your n8n workflow to update content
Supported Output Formats
- PNG: High-quality raster images
- PDF: Perfect for print and professional documents
Basic Usage
Creating a Static Graphic
{
"resource": "graphic",
"operation": "create",
"templateId": "126130",
"output": "png",
"contentUpdates": {
"updates": [
{
"type": "textbox",
"label": "title_1",
"value": "My Dynamic Title"
},
{
"type": "textbox",
"label": "hashtag_1",
"value": "#automation"
}
]
}
}
Creating a Carousel - Flexible Structure
Intro Slide (Optional):
- Enable/disable toggle
- When enabled: heading, description, and image fields automatically appear
Content Slides (Main content):
- Method 1 - Build in UI: Manually add slides using the interface
- Method 2 - JSON Expression: Use dynamic data with expressions like
{{ $json.slides }}
Ending Slide (Optional):
- Enable/disable toggle
- When enabled: heading, description, and image fields automatically appear
Example - UI Method:
{
"resource": "carousel",
"operation": "create",
"templateId": "126130",
"output": "png",
"enableIntroSlide": true,
"introSlideHeading": "Welcome!",
"introSlideDescription": "Let's get started",
"contentSlidesInputMethod": "ui",
"contentSlides": {
"slide": [
{
"heading": "Step 1",
"description": "First step details"
},
{
"heading": "Step 2",
"description": "Second step details"
}
]
},
"enableEndingSlide": true,
"endingSlideHeading": "Thank you!",
"endingSlideDescription": "Follow for more tips"
}
Example - JSON Method for Content Slides:
{
"resource": "carousel",
"operation": "create",
"templateId": "126130",
"output": "pdf",
"contentSlidesInputMethod": "json",
"contentSlidesJson": "{{ $json.dynamicSlides }}"
}
Where $json.dynamicSlides contains:
[
{
"heading": "Dynamic Tip 1",
"description": "Generated from data"
},
{
"heading": "Dynamic Tip 2",
"description": "Another generated tip"
}
]
Branding
You can include branding information that will be automatically applied to templates with branding placeholders:
{
"addBranding": true,
"branding": {
"name": "John Doe",
"handle": "@johndoe",
"bio": "Content Creator & Marketer",
"website_url": "https://johndoe.com",
"avatar_image_url": "https://example.com/avatar.jpg"
}
}
Job Management
Contentdrips processes requests asynchronously. After creating a graphic or carousel:
- You'll receive a
job_idin the response - Use the Job > Get Status operation to check processing status
- Use the Job > Get Result operation to get the final download URLs
Compatibility
- Minimum n8n version: 0.198.0
- Tested with n8n version: 1.0.0+
Usage Examples
Social Media Automation
Create a workflow that:
- Triggers on a schedule
- Fetches content from a CMS or spreadsheet
- Uses Contentdrips to generate social media graphics
- Posts to social platforms automatically
Marketing Campaign Generator
Build a workflow that:
- Reads campaign data from Google Sheets
- Generates branded graphics for each campaign
- Stores results in cloud storage
- Sends notification emails with download links
Dynamic Workflow Examples
Example 1: Variable Slide Count from Spreadsheet
Google Sheets → Read Data → Code Node (Transform) → Contentdrips → Save Results
Code Node example to transform spreadsheet data:
// Input: Array of tips from spreadsheet
const tips = $input.all()[0].json.tips;
// Transform to Contentdrips format
const slides = tips.map((tip, index) => ({
heading: tip.title,
description: tip.description,
image: tip.image_url || `https://example.com/slide${index + 1}.jpg`
}));
return [{
json: {
slides: { slide: slides }
}
}];
Example 2: AI-Generated Content with Variable Length
OpenAI → Generate Tips → Code Node → Contentdrips → Post to Social
The AI might generate 5 tips one day and 12 tips another day - the Contentdrips node handles both scenarios seamlessly.
Example 3: RSS Feed to Carousel
RSS Feed → Filter Items → Transform → Contentdrips → Cloud Storage
Number of slides depends on RSS feed items - could be 3 today, 10 tomorrow.
Troubleshooting
Common Issues
Authentication Errors
- Verify your API token is correct
- Check that the token has proper permissions
- Ensure you're using the latest version of the node
Template Errors
- Confirm the template ID exists in your Contentdrips account
- Verify that labeled elements match your content updates
- Check that required fields are provided
Job Processing
- Jobs typically take 2-5 minutes to process
- Use the Job Status operation to monitor progress
- Failed jobs will include error details in the response
Getting Help
- Check the Contentdrips API documentation
- Visit the n8n community forum
- Report bugs on the GitHub repository
Resources
Version History
1.0.0
- Initial release
- Support for creating static graphics and carousels
- Job status and result management
- Branding and content update features
- Full API coverage for Contentdrips v1
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request