cliphi

Turn your long videos into ready-to-post vertical clips. Cliphi finds the strongest moments, shows free previews, and renders only the ones you pick.

Package Information

Released: 1 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 0.1.2
Author: Cliphi

Available Nodes

Documentation generating…

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 a
Cliphi 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:

  1. Submit Video with your link. Keep job_id from the response.
  2. Wait node, then Get Job. Loop until status is completed.
    Each moment comes back with preview_page_url and a viral_score.
  3. 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 status is
    not completed → Wait → back to Get Job.
  • Wait for Seconds on 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 parts or
    skip the intro and detection follows them.
  • Long sources: give Start Time and End Time to process only a window
    rather than a three-hour stream.
  • Languages: set Language explicitly 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

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.

Discussion