xClipping

How it works

What happens to a video between pasting a URL and a short going live, and what the studio does not do on its own.

What xClipping is

xClipping is a self-hosted studio for turning long videos into vertical shorts. It runs on your own server as a set of containers — a Postgres database, an API, a pipeline worker, the web dashboard, and a reverse proxy. Media never leaves that machine except when you publish a finished clip to a channel you connected.

It is a single-operator workspace. One account signs in and sees everything; there are no teams, roles, or shared tenants.

1. Import

Paste a YouTube, Twitch, or Kick URL on the Create page, or upload a file directly. The worker downloads the source, probes it, and stores it under the data directory alongside a lower-resolution proxy the editor and renderer both read from.

Importing the same URL twice is recognised before the download starts, so a repeat costs nothing. Kick past broadcasts often fail to download for reasons outside this app; uploading the file works when that happens.

2. Analyze

The source is transcribed, then split into several hundred candidate windows. A cheap scoring pass ranks them on speech density, audio energy, delivery pace, plausible length, and position in the video. Only the top candidates — 24 by default — are sent to a vision model for a closer look, because that step is the one that costs money.

For Twitch sources, chat replay is read as an extra signal: a burst of messages is the audience marking a moment for you, and it costs no tokens to notice.

Every stage records what it cost, how long it took, and a fingerprint of its inputs. Re-running the same work reuses the stored result instead of paying for it twice.

3. Review and edit

Proposed clips land in the Library. Open one and you can change its captions, layout, crop, and boundaries. The editor preview and the final export are built from the same composition, so what you approve is what renders.

Nothing is published from this step. A clip stays in the library until you send it to the queue.

4. Render

Approved clips render to 9:16 MP4 on your server. Renders are keyed by the composition, so re-rendering an unchanged clip returns the existing file rather than encoding it again.

5. Schedule and publish

The Queue holds scheduled posts with per-channel spacing and daily and hourly limits you set. Publishing happens only for channels you have connected, and only at the time you chose.

  • YouTube — uploads through the Data API, with native scheduling: the video stays private until its publish time.
  • TikTok — uploads through the Content Posting API. There is no native scheduling, so xClipping holds the post and publishes it at your chosen time.
  • Instagram Reels and X — supported, also held locally until their publish time.

Twitch and Kick are import sources only. Neither has a publishing API this app can use.

Hunter

Hunter watches channels you name and enqueues their new uploads as import jobs, so a stream that ended overnight is already processed by morning. Each watch target has its own clip count, quality bar, and review mode.

Finished clips stay in the library unless you explicitly give a target publish destinations. Auto-publishing is off until you turn it on per target.

What it does not do

  • It does not post anything to a platform you have not connected through OAuth.
  • It does not publish a clip you have not scheduled or approved for auto-publishing.
  • It does not upload your source video anywhere. Only the finished short is sent, to your own channel.
  • It does not share, sell, or transmit your stored tokens to any third party.

Connecting and disconnecting accounts

Channels are connected from the Channels page inside the signed-in studio, through each platform's own OAuth flow. The same page disconnects them, which deletes the stored tokens from your server. You can also revoke access from the platform's own settings, which xClipping detects on its next attempt.

For what is stored and for how long, see the Privacy Policy. Common questions are answered in the FAQ.