Package Information
Documentation
n8n-nodes-cliphi
Turn your long videos into ready-to-post vertical clips, inside n8n.
Cliphi watches a long video (podcast, livestream, interview, webinar), finds
the strongest moments, and gives you a free preview of each one. You render
only the moments you actually want. Clips come back sized for YouTube Shorts,
Instagram Reels and TikTok, with captions and speaker framing already applied.
Installation
n8n Cloud: search for Cliphi in the nodes panel and install it.
Self-hosted: Settings → Community Nodes → Install → n8n-nodes-cliphi.
Credentials
Create an API key in Cliphi under Settings → API Keys, then add it as aCliphi API credential in n8n.
A key can start jobs and render clips, which spends your credits. Treat it
like a password. Revoking a key in Cliphi stops it instantly.
Operations
| Operation | What it does | Billed? |
|---|---|---|
| Submit Video | Starts a job from a video link. Returns a job ID in about two seconds. | Processing is charged per video minute |
| Get Job | Checks the job and returns its moments, each with a free preview link. | No |
| Render Moment | Renders one chosen moment into a finished clip. | Yes, per clip |
Three operations rather than one "make clips" action, on purpose: rendering is
the only billed, irreversible step, so it stays a separate and deliberate call.
A single mega-operation would hide the one decision that costs money.
The shape of a workflow
Cliphi is asynchronous. Submitting returns immediately; the work happens on
Cliphi's machines. The usual pattern is three steps:
- Submit Video with your link. Keep
job_idfrom the response. - Wait node, then Get Job. Loop until
statusiscompleted.
Each moment comes back withpreview_page_urland aviral_score. - Render Moment for the ones you (or a human in your workflow) picked.
Two ways to handle the wait:
- Wait node loop (recommended for long videos): Get Job → IF
statusis
notcompleted→ Wait → back to Get Job. Wait for Secondson Get Job: holds the request open server-side for up
to 60 seconds. Good for short videos; one call often lands the result.
A human-in-the-loop step between 2 and 3 is worth adding. Post the preview
links to Slack, let someone pick, then render only those.
Example: new podcast episode → clips for review
RSS Trigger (your podcast feed)
→ Cliphi: Submit Video (video_url from the feed item)
→ Wait 3 minutes
→ Cliphi: Get Job (loop back to Wait until completed)
→ Slack: post the preview links for approval
→ Cliphi: Render Moment (once, per approved moment)
→ Google Drive: upload the finished clips
Notes
- Detection instructions: pass plain words like
only the funny partsorskip the introand detection follows them. - Long sources: give
Start TimeandEnd Timeto process only a window
rather than a three-hour stream. - Languages: set
Languageexplicitly for videos that mix two languages;
it gives noticeably better results than auto-detection. - Render Again re-renders a moment that already has a clip and bills again.
Leave it off unless someone asked for a replacement.
Workflow templates
Three importable workflows are in templates/: a podcast feed to
preview links for approval, an on-demand form, and the render-approved-moments
half. None of them render automatically, and
templates/README.md explains why.
Links
- Cliphi for n8n: https://www.cliphi.com/agents/n8n
- Developer docs: https://www.cliphi.com/docs/agents
- API schema: https://www.cliphi.com/cliphi-actions.json
- Support: support@cliphi.com
Development
npm install --ignore-scripts # n8n-workflow pulls isolated-vm; we need types only
npm run build # tsc + copy icons
npm run verify # contract + templates
npm run verify runs two drift checks, both in CI and before every publish:
- the node against the published OpenAPI at
https://www.cliphi.com/cliphi-actions.json — routes, auth header, body
properties and enums. The node hard-codes that contract and nothing else
stops the two drifting. - every template against the built node — operations and parameters exist
and apply, required fields are set, and no connection points at a missing
node. A template referencing a renamed parameter would import broken into
someone else's n8n.
Licence
MIT. See LICENSE.
