Docs

vCut is a local agent (Node + ffmpeg) with a Cloudflare Pages gate for UAT. Source video stays on the machine — ffmpeg never runs on Cloudflare.

First-round Cloudflare UAT

  1. Open the Pages gate → Clone & Docker.
  2. Run the one-liner below on your machine.
  3. Back on the gate → Open local editor → create an account.
  4. Tool-first home → upload → canvas → Result; try Captions once.

Install

Requires Docker (recommended; captions included) — or Node.js 18+ and ffmpeg on PATH.

New user — Clone & Docker (#1 path)

From a clone of this repo (folder that contains docker-compose.yml):

git clone <YOUR_REPO_URL> vcut && cd vcut
# if the app lives in a subfolder:
# cd "Cursor - vCut"
export VCUT_AUTH=on
export VCUT_DOCS_URL=https://YOUR_PAGES_HOST
export VCUT_UPDATE_URL=https://YOUR_PAGES_HOST/latest.json
export VCUT_CORS_ORIGINS=https://YOUR_PAGES_HOST
docker compose -f docker-compose.yml -f deploy/docker-compose.uat.yml up --build

Or copy deploy/env.uat.example to .env and fill your Pages host, then:

docker compose -f docker-compose.yml -f deploy/docker-compose.uat.yml --env-file .env up --build

Boot log should show auto-captions: on (whisper.cpp). Open http://127.0.0.1:4321, create an account, complete the walkthrough.

Host install (no Docker):

./scripts/install.sh          # macOS / Linux
# .\scripts\install.ps1       # Windows

Existing user — download / update

  1. Check latest.json for the current version and notes.
  2. Pull or re-run docker compose … up --build.
  3. Keep VCUT_UPDATE_URL pointed at this site’s latest.json.
  4. Open the local editor and sign in.

UAT environment

Set these on the agent (not on Cloudflare Pages):

VCUT_AUTH=on
VCUT_DOCS_URL=https://YOUR_PAGES_HOST
VCUT_UPDATE_URL=https://YOUR_PAGES_HOST/latest.json
VCUT_CORS_ORIGINS=https://YOUR_PAGES_HOST

VCUT_CORS_ORIGINS lets the Pages gate call /api/health when the browser allows private-network fetch. Soft failure on the gate is OK — Open local editor still works.

Docker

docker compose up --build

UAT overlay (auth + docs/update/CORS from env):

docker compose -f docker-compose.yml -f deploy/docker-compose.uat.yml up --build

UAT + Tunnel (shared operator agent):

export VCUT_TUNNEL_TOKEN=…
docker compose -f docker-compose.yml -f deploy/docker-compose.tunnel.yml --profile uat up --build

Cloudflare Tunnel

Optional: expose one always-on operator agent without opening ports. See repo deploy/README.md. Round-1 default for testers is still local Docker.

Updates

VCUT_UPDATE_URL=https://YOUR_PAGES_HOST/latest.json

Contract:

{
  "version": "2.68.1",
  "url": "https://YOUR_PAGES_HOST/docs.html#install",
  "notes": "Release notes…",
  "sha256": ""
}

After first Pages deploy, run ./scripts/set-pages-host.sh https://YOUR_PAGES_HOST to rewrite site/latest.json and commit.

Auth

Tool help

In the editor, click (i) on any tool for a quick note, Ask assistant, or Open docs (these anchors).

Cut

Keep only the selected timeline region. Drag handles or type times; Same quality or Frame-exact.

Compress

Shrink by quality/resolution or target file size (two-pass).

Reframe / Social

Change aspect for social (9:16, 1:1, 4:5, 16:9) with blur or bars.

Captions

Transcribe speech to burned subs or .srt. Needs Whisper (Docker / setup-whisper).

Text

Title/caption overlay with position, size, colour; PNG fallback without drawtext.

Templates

Fill fields, optional storyboard, apply → Result. Works template-first or after upload.

Packs

Themed 9:16 layout chrome (Skating Kid, Traveler, Motorbike, Pro Blogger, Corporate, …).

Daily Progress

Series + day/level, video, trick/achievement, CTA + AD.

Scorecard

Stat rows under the clip for practice diaries.

Achievement

Milestone badge and learned skill.

Calendar Streak

Streak header with goal progress bar.

Coach Notes

Coaching quote and tomorrow goal.

Kid Creator

Episode-style fun moment card.

Competition Prep

Countdown and practice time.

Weekly Recap

Week summary with progress bar.

AI Studio

Multi-step recipes (social, podcast, captions, highlights).

Google Drive

Browse a shared folder online, download selected clips, edit locally.

Getting started

Tool-first home → source → CapCut-style canvas → unified Result.