n8n dryAPI node
Technical documentation for dryAPI APIs, integration guides, and operational references.
This guide explains how to integrate dryAPI with a self-hosted n8n instance using the official dryAPI community node. The community node provides a simpler, no-code experience compared to the HTTP Request-based approach.
Why Use the Community Node?
The n8n-nodes-dryapi community node offers several advantages over manually configuring HTTP Request nodes:
| Feature | Community Node | HTTP Request Approach |
|---|---|---|
| Setup Complexity | One-time installation | Manual configuration per workflow |
| Job Completion | Automatic webhook-based waiting | Manual polling loop required |
| Binary Data | Auto-downloaded and attached | Manual download step needed |
| Error Handling | Built-in with clear messages | Manual status checking |
| Credential Reuse | Shared across all operations | Configure per node |
Prerequisites
Before you begin, ensure you have:
- A self-hosted n8n instance accessible via HTTPS (required for webhook callbacks)
- A dryAPI API key from the dryAPI Dashboard
- A Webhook Secret from dryAPI Webhook Settings
WARNING
The dryAPI node uses webhooks to receive job completion notifications. Your n8n instance must be accessible via HTTPS for generation operations to work.
Installation
Option 1: GUI Installation (Recommended)
- In your n8n instance, go to Settings > Community Nodes
- Click Install a community node
- Enter
n8n-nodes-dryapiand click Install - Restart n8n if prompted
Option 2: Manual Installation (docker)
If you're running n8n via docker:
docker exec -it <n8n-docker> sh
mkdir ~/.n8n/nodes
cd ~/.n8n/nodes
npm i n8n-nodes-dryapiThen restart your n8n instance.
Credential Configuration
After installation, configure your dryAPI credentials:
- In n8n, go to Credentials > Add Credential
- Search for dryAPI API and select it
- Fill in the required fields:
| Field | Description | Where to Get It |
|---|---|---|
| API Key | Your dryAPI API key for authentication | dryAPI Quickstart Guide |
| Webhook Secret | Secret for verifying webhook signatures | dryAPI Webhook Settings |
- Click Save to store the credentials
NOTE
The Webhook Secret is used to verify that incoming webhook notifications are genuinely from dryAPI. Keep it secure and never share it publicly.
Available Operations
The dryAPI node provides two node types:
dryAPI Node (Regular Operations)
Use this node to perform AI operations within your workflow.
Image Operations
| Operation | Description | Models |
|---|---|---|
| Generate | Generate images from text prompts | FLUX.1 Schnell, FLUX.2 Klein 4B BF16, Z-Image Turbo INT8 |
| Remove Background | Remove background from images | Ben2 |
| Upscale | Increase image resolution by 4x | RealESRGAN x4 |
Image input operations (Remove Background, Upscale) accept JPG, JPEG, PNG, GIF, BMP, and WebP files up to 10 MB.
Video Operations
| Operation | Description | Models |
|---|---|---|
| Generate | Generate video from text or image(s) | LTX-Video 0.9.8 13B, LTX-2 19B Distilled FP8 |
| Transcribe | Transcribe video to text (YouTube, Twitch, X, Kick, TikTok URLs or file upload) | Whisper Large V3 |
Video file transcription accepts MP4, MPEG, MOV, AVI, WMV, and OGG files up to 10 MB.
Audio Operations
| Operation | Description | Models |
|---|---|---|
| Transcribe | Transcribe audio file to text | Whisper Large V3 |
Audio transcription accepts AAC, MP3, OGG, WAV, WebM, and FLAC files up to 10 MB.
Prompt Operations
| Operation | Description |
|---|---|
| Image Prompt Booster | Optimize prompts for text-to-image generation |
| Video Prompt Booster | Optimize prompts for text/image-to-video generation |
dryAPITrigger Node (Webhook Trigger)
Use this node to start workflows when dryAPI sends job status updates. This is useful for:
- Building event-driven workflows
- Processing results from jobs submitted outside n8n
- Monitoring job progress across multiple systems
How the Webhook-Based Waiting Works
Generation operations (image, video, transcription) use an efficient webhook-based pattern instead of polling:
1. Execute Phase
+-----------+ POST /txt2img +-----------+
| dryAPI | ---------------------> | dryAPI |
| Node | (includes webhook) | Server |
+-----------+ +-----------+
|
v
Workflow pauses
(frees memory)
2. Processing Phase (no n8n resources used)
+-----------+ +-----------+
| n8n | <-- job.processing | dryAPI |
| (waiting) | (acknowledged) | (working) |
+-----------+ +-----------+
3. Resume Phase
+-----------+ +-----------+
| n8n | <-- job.completed | dryAPI |
| (resumes) | (with result_url) | (done) |
+-----------+ +-----------+
|
v
Workflow continues
with generated contentKey benefits:
- No polling loop consuming API calls
- Workflow pauses and frees memory during processing
- Results include binary data ready for downstream nodes
Example Workflow: Text-to-Image Generation
This example demonstrates a simple image generation workflow.
Workflow Overview
+------------------+ +-------------------+
| Manual Trigger | ---> | dryAPI Node |
| | | (Image: Generate) |
+------------------+ +-------------------+
|
v
Generated image as
binary data outputStep 1: Add a Trigger
Add a Manual Trigger (or Schedule, Webhook, etc.) to start your workflow.
Step 2: Add the dryAPI Node
- Add a dryAPI node to your workflow
- Select your dryAPI API credentials
- Configure the operation:
| Setting | Value |
|---|---|
| Resource | Image |
| Operation | Generate |
| Model | FLUX.2 Klain (or your preferred model) |
| Prompt | Red Bull F1 car from 2025 |
| Aspect Ratio | Square, Landscape, or Portrait |
- Optionally configure:
- Negative Prompt — Elements to exclude from the image
- Resolution — Select image dimensions other than the default ones, depending on your needs
- Seed — For reproducible results (use
-1for random) - Steps — Number of inference steps (higher = more detail)
Step 3: Run the Workflow
- Click Test Workflow or Execute Workflow
- The node will:
- Submit the generation request to dryAPI
- Pause the workflow while waiting
- Resume automatically when the image is ready
- The output contains the generated image as binary data
Using the Generated Image
The image is available in the data binary field. Connect downstream nodes to:
- Write Binary File — Save to disk
- Send Email — Attach to an email
- HTTP Request — Upload to cloud storage
- Slack/Discord — Share in a channel
Using the dryAPITrigger Node
The dryAPITrigger node listens for webhook events from dryAPI, enabling event-driven workflows.
Setup
- Add a dryAPITrigger node to a new workflow
- Select your dryAPI API credentials
- Configure event filtering:
| Setting | Description |
|---|---|
| Events | Select which events trigger the workflow: Processing, Completed, Failed |
| Download Binary Result | Automatically download the result file for completed jobs |
- Activate the workflow to make the webhook URL live
- Copy the Webhook URL displayed in the node
- Add this URL to your dryAPI Webhook Settings
Event Types
| Event | Description | Typical Use |
|---|---|---|
| job.processing | Job has started processing | Update status in external system |
| job.completed | Job finished successfully | Process the generated content |
| job.failed | Job encountered an error | Handle errors, send notifications |
Comparison: Community Node vs HTTP Request
| Aspect | Community Node | HTTP Request Approach |
|---|---|---|
| Nodes Required | 1 (dryAPI node) | 5+ (Submit, Poll loop, Check, Wait, Download) |
| Polling Logic | Automatic webhook | Manual polling loop with Wait node |
| Binary Handling | Auto-downloaded | Manual HTTP Request to download |
| Error Messages | Clear, contextual | Raw API responses |
| Credential Setup | Once per n8n instance | Once per n8n instance |
| Rate Limit Handling | Built-in with helpful message | Manual detection and handling |
| Code Required | None | Expressions for URL templating |
Troubleshooting
HTTPS Required
Generation operations require your n8n instance to be accessible via HTTPS for webhook callbacks.
Solutions:
- Use a reverse proxy (nginx, Caddy, Traefik) with SSL termination
- Use a tunnel service (ngrok, Cloudflare Tunnel) for development
- Ensure your SSL certificate is valid and not self-signed
Webhook Verification Failures
If you see webhook signature verification errors:
- Verify your Webhook Secret matches the one in dryAPI Webhook Settings
- Ensure your n8n server clock is synchronized (signature includes timestamp)
- Check that no proxy is modifying the request body
Timeout Errors
Operations have a configurable Wait Timeout with defaults that vary by type:
| Operation Type | Default Timeout | Max Timeout |
|---|---|---|
| Generation (image, video) | 60 seconds | 240 seconds |
| Transcription (video, audio) | 120 seconds | 600 seconds |
For long-running operations:
- Select the dryAPI node
- Expand Options
- Increase Wait Timeout to allow more time
Rate Limiting
If you see "upgrade your plan" errors, you've hit dryAPI's rate limits. Consider upgrading your dryAPI plan for higher limits.
Example Workflow Download
An example n8n workflow demonstrating all available operations is available in the GitHub repository.
- Download
dryAPI_guide.json - In n8n, go to Workflows > Import from File
- Select the downloaded file
- Configure your dryAPI credentials
- Explore the example nodes and sticky notes
Resources
- n8n Community Nodes Documentation
- n8n Integration (HTTP Request approach)
- dryAPI API Reference
- Execution Modes & HTTP Queue
- Model Selection Guide
- GitHub Repository
- NPM Package