Description
n8n-nodes-contentdrips
An n8n community node for the Contentdrips API that enables you to create designs with AI, fill templates, generate carousels and graphics, and publish social posts.
Features
- AI Design Agent: Create a blank canvas and build a new layout from a prompt (returns an editor URL)
- AI Graphic / Carousel Maker: Fill an existing template with AI from a topic, blog, YouTube, or TikTok URL, then render PNG/PDF
- Template fill: Update labeled text and images yourself, then render
- Template structure: Inspect editable field labels before filling a template
- Posts: Create, update, delete, schedule, and publish LinkedIn/Instagram posts
- Job management: Check status and retrieve results from asynchronous render jobs
- Branding: Apply name, handle, bio, website, and avatar on template-fill renders
– Graphics use content_update
– Carousels support the new carousel_content elements format and the legacy heading/description/image format
Choose the right operation
| Goal | Resource | Operation |
|——|———-|———–|
| New layout from a prompt (no existing template) | Design Agent | Get Profiles → Create Design → Get Brand Styles → Run Agent |
| Keep an existing graphic layout, AI-write the copy | Graphic | AI Generate or 1-Click AI Generate |
| Keep an existing carousel layout, AI-write the slides | Carousel | AI Generate or 1-Click AI Generate |
| You already know the field values | Graphic / Carousel | Generate or 1-Click Generate |
| Inspect labels before filling | Template | Get Structure |
| Export PNG/PDF of a queued job | Job | Check Status / Get Result |
| Publish to LinkedIn or Instagram | Post | Create → Schedule or Publish |
AI Design Agent is synchronous and returns edit_url. It does not render a PNG until you later use Graphic/Carousel generate (or a separate render) on that template ID.
AI makers and template fill are asynchronous: Generate returns a jobid; 1-Click Generate polls until exporturl is ready.
Installation
n8n Cloud
For n8n Cloud users:
1. Go to Settings > Community Nodes in your n8n Cloud instance
2. Click Install a community node
3. Enter n8n-nodes-contentdrips
4. Click Install
The node will be automatically installed and available in your workflow editor.
Self-hosted n8n
For self-hosted installations, you have several options:
#### Option 1: Community Nodes UI (Easiest)
1. Go to Settings > Community Nodes in your n8n instance
2. Click Install a community node
3. Enter n8n-nodes-contentdrips
4. Click Install
#### Option 2: Docker Compose
Add the following to your docker-compose.yml environment variables:
environment:
- NODEFUNCTIONALLOW_EXTERNAL=*
Then modify your Dockerfile or create a custom image:
FROM n8nio/n8n:latest
USER root
RUN npm install -g n8n-nodes-contentdrips
USER node
#### Option 3: Manual Installation
Navigate to your n8n installation directory
cd ~/.n8nInstall the node
npm install n8n-nodes-contentdripsRestart n8n
Prerequisites
1. Contentdrips Account: Sign up at Contentdrips
2. API Token: Generate your API token from API Management
3. Templates (for fill / AI makers): Create and label templates in the Contentdrips editor
4. Profile ID (required for AI makers, Design Agent, and posts): Use Design Agent → Get Profiles
Configuration
Credentials Setup
1. In n8n, go to Credentials
2. Click + Add Credential
3. Search for Contentdrips API
4. Enter your API token from Contentdrips
Template Preparation
1. Create templates in Contentdrips editor
2. Add labels to text boxes and images you want to update:
– Right-click on element → “Add Label” → Enter label name
3. Note your template ID from the URL or template settings
4. Optionally run Template → Get Structure to see the exact labels and types
Operations
Design Agent
Typical flow: Get Profiles → Create Design → Get Brand Styles → Run Agent.
Run Agent fields: templateid, prompt, optional usebranding, styleid, model (basic | pro), referenceimage (HTTPS URL or data URI).
The response includes edit_url. Share or open that link; do not assume a PNG was exported.
AI Graphic / AI Carousel
Requires an existing templateid and profileid.
topic | blog | youtube | tiktok_reelAI Graphic posts to /render with aigraphic. AI Carousel posts to /render?tool=carousel-maker with aicarousel.
Generate Graphic (template fill)
Create static graphics (PNG/PDF) from templates using content_update:
{
"operation": "generateGraphic",
"templateId": "126130",
"output": "png",
"branding": {
"name": "Jane Doe",
"handle": "@janedoe",
"bio": "Content Creator",
"website_url": "https://janedoe.com",
"avatarimageurl": "https://example.com/avatar.jpg"
},
"contentUpdates": [
{
"type": "textbox",
"label": "title_1",
"value": "New Post Title"
}
]
}
Generate Carousel (template fill)
Two payload formats:
Legacy (heading / description / image) — still the default, so existing workflows keep working:
{
"operation": "generateCarousel",
"templateId": "126130",
"output": "pdf",
"carousel": {
"intro_slide": {
"heading": "Start Here",
"description": "Tips that work",
"image": "https://example.com/intro.jpg"
},
"slides": [
{
"heading": "Tip 1",
"description": "Post daily content",
"image": "https://example.com/slide1.jpg"
}
],
"ending_slide": {
"heading": "Follow for more",
"description": "New tips weekly",
"image": "https://example.com/end.jpg"
}
}
}
New (carousel_content elements map, preferred for new workflows). Set Carousel Format to New, then provide JSON such as:
{
"carousel_topic": "Product launch",
"intro_slide": {
"elements": {
"heading": { "type": "text", "value": "Welcome" }
}
},
"slides": [
{
"elements": {
"heading": { "type": "text", "value": "Feature 1" },
"image": {
"type": "image",
"value": "https://example.com/slide.jpg",
"via": "unsplash",
"image_query": "workspace"
}
}
}
],
"ending_slide": {
"elements": {
"heading": { "type": "text", "value": "Thank You!" }
}
}
}
Use Template → Get Structure first so element labels match the template.
Posts
export_url values from a completed job)Check Job Status
Monitor background job processing:
{
"operation": "checkJobStatus",
"jobId": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4"
}
Get Job Result
Retrieve completed job results:
{
"operation": "getJobResult",
"jobId": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4"
}
Example Workflows
AI Design Agent
1. Design Agent → Get Profiles → copy profile_id
2. Design Agent → Create Design (type, format, profile ID)
3. Design Agent → Get Brand Styles → copy style_id if you want a saved style
4. Design Agent → Run Agent with a prompt
5. Open edit_url to review the layout
Blog to Carousel Automation
1. RSS Trigger → Get new blog posts
2. Carousel → AI Generate with method blog and the article URL
3. Job → Get Result (or use 1-Click AI Generate)
4. Post → Create with the export URLs, then Schedule or Publish
Social Media Graphics
1. Schedule Trigger → Daily at 9 AM
2. Google Sheets → Get daily quote and image
3. Contentdrips Node → Generate quote graphic
4. Social Media Node → Post to platforms
API Response Examples
Successful Job Creation
{
"job_id": "15bf4a39-876a-4780-aaa9-4be6fe2c61b4",
"status": "queued",
"message": "Job has been queued for processing",
"estimated_time": "2-5 minutes"
}
Completed Job Result
{
"date": "2025-06-02T16:31:18.633Z",
"type": "carousel",
"export_url": "https://contentdrips2.s3.amazonaws.com/server/104017/uploads/carousel-output.pdf"
}
Troubleshooting
Common Issues
1. Authentication Error: Verify your API token in credentials
2. Template Not Found: Check template ID exists and is accessible
3. Label Not Found: Ensure labels are properly set in template editor; use Get Structure
4. Job Timeout: Large carousels and AI jobs may take longer — raise Wait Settings
5. 402 Payment Required: Not enough AI credits for AI Graphic / AI Carousel
6. Missing Profile ID: Run Design Agent → Get Profiles and pass the ID into AI makers and posts
Error Handling
The node supports n8n’s Continue on Fail option. When enabled, errors are returned as data instead of stopping the workflow.
Support
License
MIT License – see LICENSE.md for details.
Contributing
Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.