Workflow integrations (n8n, Zapier & Make)
Automate AI video upscaling in n8n, Zapier, Make, Dify and Coze with the VideoUpscaler API, webhooks, templates and community node.
Automate video upscaling to 1080p, 2K or 4K inside your automation pipelines — for example when a new clip lands in Google Drive, S3 or Frame.io, or right after an AI video generator finishes a render.
Paid accounts only
Workflow integrations call the VideoUpscaler API and use your account's credits. Create an API key (vu_live_…) in Settings → API Keys on an account that has bought credits or subscribed.
Quick downloads
| Resource | Link | Best for |
|---|---|---|
| n8n Community Node | n8n-nodes-videoupscaler | One-node upscale + wait inside self-hosted or cloud n8n |
| n8n Workflow Template | n8n-videoupscaler-workflow.json | Import straight into n8n (HTTP Request + 45s long-poll loop) |
| Make Blueprint | make-videoupscaler-blueprint.json | Import straight into Make.com scenarios |
| OpenAPI 3.1 Spec | openapi.json | One-click Custom Tool import in Dify, Coze, Postman and OpenAI Actions |
n8n integration
You can connect VideoUpscaler to n8n in three ways: install the community node, import our ready-made workflow JSON, or attach the remote MCP server to an n8n AI Agent.
In n8n, open Settings → Community Nodes, click Install, and enter:
n8n-nodes-videoupscaler- Add a VideoUpscaler node to your workflow.
- Create a VideoUpscaler API credential and paste your
vu_live_…key. - Choose Resource: Video, Operation: Upscale, set Video URL and Resolution (
1080p,2kor4k). - Leave Wait for Completion enabled — the node automatically waits for the GPU job to finish and outputs
output_url.
Works on every n8n instance without installing community nodes:
- Download n8n-videoupscaler-workflow.json.
- In your n8n canvas, open the menu (⋯) → Import from File… and select the file.
- Open the Start Upscale and Poll Task HTTP Request nodes, select Header Auth, and set:
- Name:
Authorization - Value:
Bearer vu_live_YOUR_API_KEY
- Name:
The template submits the video with Idempotency-Key: {{ $execution.id }} and long-polls GET /api/v1/tasks/{{ $json.id }}?wait=45 until status is completed.
If your n8n workflow uses an AI Agent node, attach an MCP Client Tool node:
- SSE / Streamable HTTP Endpoint:
https://videoupscaler.co/api/mcp - Authentication: Header Auth (
Authorization: Bearer vu_live_YOUR_API_KEY)
The agent automatically discovers upscale_video, get_task, list_tasks and get_account.
Zapier integration
Because video upscaling takes from 20 seconds to several minutes, Zapier works best with our webhook_url callback using two Zaps:
Zap 1 — Submit the video when a trigger fires
- Trigger: Choose your source (for example Google Drive — New File in Folder or Dropbox — New File).
- Action: Choose Webhooks by Zapier → Custom Request (or POST):
- Method:
POST - URL:
https://videoupscaler.co/api/v1/upscale - Headers:
Authorization:Bearer vu_live_YOUR_API_KEYContent-Type:application/json
- Data (JSON):
- Method:
{
"video_url": "https://your-public-file-link.mp4",
"resolution": "4k",
"webhook_url": "https://hooks.zapier.com/hooks/catch/YOUR_ZAP_2_HOOK"
}Zap 2 — Receive the upscaled video
- Trigger: Choose Webhooks by Zapier → Catch Hook and copy the webhook URL into Zap 1's
webhook_urlfield. - Filter (optional): Continue only if
statusexactly matchescompleted. - Action: Pass
output_urlto Google Drive — Upload File, Slack — Send Channel Message, or your publishing step.
Make (Integromat) integration
- Download make-videoupscaler-blueprint.json.
- In a new Make scenario, click More (⋯) at the bottom toolbar → Import Blueprint and upload the file.
- Replace
vu_live_YOUR_API_KEYin the HTTP — Make a request module headers with your API key.
For videos under a minute, the second module (GET https://videoupscaler.co/api/v1/tasks/{{1.data.id}}?wait=45) holds the connection for up to 45 seconds and returns output_url directly in a single scenario run. For longer videos, pass Make's Custom webhook URL as webhook_url in POST /api/v1/upscale.
Dify, Coze & OpenAI Actions
Platforms that support OpenAPI tools can import all VideoUpscaler endpoints at once:
- Schema URL:
https://videoupscaler.co/openapi.json - Authentication: API Key / Bearer (
Authorization: Bearer vu_live_…)
In Dify (Tools → Custom → Create Custom Tool) or Coze (Plugins → Create Plugin → Import from OpenAPI), paste the schema contents from /openapi.json and configure Bearer authentication with your API key.
Webhook & long-polling reference
Webhook callbacks (webhook_url)
Pass webhook_url (any public https:// URL) in POST /api/v1/upscale:
curl https://videoupscaler.co/api/v1/upscale \
-H "Authorization: Bearer $VIDEOUPSCALER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/clip.mp4",
"resolution": "4k",
"webhook_url": "https://hooks.example.com/videoupscaler"
}'When the task finishes, VideoUpscaler sends an HTTP POST to webhook_url with:
- Header
X-VideoUpscaler-Event:task.completedortask.failed - Header
X-VideoUpscaler-Task-Id: the task UUID - JSON body: the full task object (including
output_urlwhencompleted, orerrorwhenfailed)
Long-polling (?wait=45)
Add ?wait=45 (1–45 seconds) to GET /api/v1/tasks/{id} to hold the request open until the task finishes or the timer expires:
curl "https://videoupscaler.co/api/v1/tasks/TASK_ID?wait=45" \
-H "Authorization: Bearer $VIDEOUPSCALER_API_KEY"Enhancement options (ops)
You can also pass an optional ops object in POST /api/v1/upscale to combine upscaling with restoration filters:
{
"video_url": "https://example.com/clip.mp4",
"resolution": "4k",
"ops": {
"engine": "flashvsr",
"denoise": 2,
"stabilize": true,
"faceRestore": false,
"fpsMultiplier": 2
}
}