Spaces:
Running
Running
clips-studio-bot commited on
Commit ·
77bb0eb
0
Parent(s):
Sync website from 87c2e7d
Browse files- .gitattributes +11 -0
- README.md +32 -0
- analytics.js +119 -0
- assets/mascot-head.png +3 -0
- assets/mascot.png +3 -0
- changelog.html +190 -0
- donate.js +40 -0
- index.html +388 -0
- kick.html +169 -0
- llms.txt +62 -0
- local-vs-cloud.html +230 -0
- privacy.html +216 -0
- roadmap.html +197 -0
- robots.txt +39 -0
- sitemap.xml +43 -0
- styles.css +493 -0
- twitch.html +181 -0
- youtube.html +170 -0
.gitattributes
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.jpg filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.gif filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.webp filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.svg filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.ico filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.webm filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.woff filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.woff2 filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: Clips Studio
|
| 3 |
+
emoji: 🐱
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
+
sdk: static
|
| 7 |
+
app_file: index.html
|
| 8 |
+
pinned: false
|
| 9 |
+
license: agpl-3.0
|
| 10 |
+
short_description: Free open-source AI video clipping that runs on your own PC
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# Clips Studio
|
| 14 |
+
|
| 15 |
+
Free, open-source AI video clipping that runs on your own computer. Paste a
|
| 16 |
+
Twitch, Kick or YouTube link and get vertical clips with captions and titles —
|
| 17 |
+
no upload, no subscription, no per-clip fee.
|
| 18 |
+
|
| 19 |
+
**This Space is the project website.** Clips Studio is a Windows desktop
|
| 20 |
+
application; it cannot run inside a Space, because it needs a local GPU, FFmpeg
|
| 21 |
+
and your own files.
|
| 22 |
+
|
| 23 |
+
- **Download and source:** <https://github.com/ColinGPT9/clips-studio>
|
| 24 |
+
- **Website:** <https://colingpt9.github.io/clips-studio/>
|
| 25 |
+
|
| 26 |
+
---
|
| 27 |
+
|
| 28 |
+
The frontmatter above is what makes this folder a Hugging Face **static
|
| 29 |
+
Space** (`sdk: static`, serving `index.html`). The same folder is published to
|
| 30 |
+
GitHub Pages, so every path in the HTML is **relative** — an absolute `/styles.css`
|
| 31 |
+
would work on a Space and break on a project Pages site, which is served from a
|
| 32 |
+
subdirectory.
|
analytics.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* Google Analytics 4 for the website.
|
| 2 |
+
*
|
| 3 |
+
* ─────────────────────────────────────────────────────────────────────────
|
| 4 |
+
* PASTE YOUR MEASUREMENT ID BELOW. It is the only thing to change here.
|
| 5 |
+
*
|
| 6 |
+
* Where to find it: analytics.google.com -> Admin -> Data streams -> your
|
| 7 |
+
* web stream. It looks like G-ABC123XYZ4. Not the "GA4 property ID" (a
|
| 8 |
+
* number) and not a UA- id, which is the retired version of Analytics.
|
| 9 |
+
* ─────────────────────────────────────────────────────────────────────────
|
| 10 |
+
*
|
| 11 |
+
* Until an ID is set this file does nothing at all: no script is fetched, no
|
| 12 |
+
* cookie is written. That way it can sit in the repository, and on the
|
| 13 |
+
* Hugging Face mirror, without quietly tracking anyone.
|
| 14 |
+
*
|
| 15 |
+
* This measures the WEBSITE only. The desktop app has no telemetry and this
|
| 16 |
+
* changes nothing about that.
|
| 17 |
+
*/
|
| 18 |
+
|
| 19 |
+
var MEASUREMENT_ID = ''
|
| 20 |
+
|
| 21 |
+
;(function () {
|
| 22 |
+
if (!MEASUREMENT_ID) return // not configured yet: stay inert
|
| 23 |
+
|
| 24 |
+
// Don't count yourself. Previewing the site locally would otherwise show up
|
| 25 |
+
// as real traffic, and on a site with few visitors a handful of your own
|
| 26 |
+
// page loads is enough to make the numbers meaningless.
|
| 27 |
+
var host = location.hostname
|
| 28 |
+
if (
|
| 29 |
+
location.protocol === 'file:' ||
|
| 30 |
+
host === 'localhost' ||
|
| 31 |
+
host === '127.0.0.1' ||
|
| 32 |
+
host === '' ||
|
| 33 |
+
host.endsWith('.local')
|
| 34 |
+
) {
|
| 35 |
+
return
|
| 36 |
+
}
|
| 37 |
+
|
| 38 |
+
var s = document.createElement('script')
|
| 39 |
+
s.async = true
|
| 40 |
+
s.src = 'https://www.googletagmanager.com/gtag/js?id=' + encodeURIComponent(MEASUREMENT_ID)
|
| 41 |
+
document.head.appendChild(s)
|
| 42 |
+
|
| 43 |
+
window.dataLayer = window.dataLayer || []
|
| 44 |
+
function gtag() {
|
| 45 |
+
window.dataLayer.push(arguments)
|
| 46 |
+
}
|
| 47 |
+
window.gtag = gtag
|
| 48 |
+
gtag('js', new Date())
|
| 49 |
+
gtag('config', MEASUREMENT_ID, {
|
| 50 |
+
// Shortens the visitor's IP before it is stored. GA4 does this by
|
| 51 |
+
// default; setting it explicitly means the intent survives anyone
|
| 52 |
+
// reading this file later.
|
| 53 |
+
anonymize_ip: true
|
| 54 |
+
})
|
| 55 |
+
|
| 56 |
+
// Named events for the three things worth knowing, because "visits" on its
|
| 57 |
+
// own says very little. What matters is how many of those visitors went on
|
| 58 |
+
// to do something: a sponsor asks "how many people actually download it?",
|
| 59 |
+
// and "8% of visitors clicked through to the release" is an answer.
|
| 60 |
+
//
|
| 61 |
+
// GA4's enhanced measurement already logs outbound clicks generically.
|
| 62 |
+
// These are named, so they can be read straight off the Events report
|
| 63 |
+
// instead of being dug out of a list of every external link on the site.
|
| 64 |
+
document.addEventListener(
|
| 65 |
+
'click',
|
| 66 |
+
function (e) {
|
| 67 |
+
var a = e.target && e.target.closest ? e.target.closest('a[href]') : null
|
| 68 |
+
if (!a) return
|
| 69 |
+
var href = a.getAttribute('href') || ''
|
| 70 |
+
|
| 71 |
+
// Parse it rather than search it. The first version of this asked
|
| 72 |
+
// whether the string CONTAINED "github.com" and "/releases", which
|
| 73 |
+
// "https://example.com/?ref=github.com/releases" satisfies happily.
|
| 74 |
+
// Only the host decides where a link goes, so only the host is asked.
|
| 75 |
+
var url
|
| 76 |
+
try {
|
| 77 |
+
// Relative to this page, so "twitch.html" resolves to our own origin
|
| 78 |
+
// and drops out as internal on the next line.
|
| 79 |
+
url = new URL(href, location.href)
|
| 80 |
+
} catch (e) {
|
| 81 |
+
return // "javascript:", "#", or something malformed
|
| 82 |
+
}
|
| 83 |
+
if (url.origin === location.origin) return // internal navigation
|
| 84 |
+
|
| 85 |
+
var host = url.hostname.toLowerCase()
|
| 86 |
+
var onHost = function (domain) {
|
| 87 |
+
// Label boundary: accepts www.github.com, rejects github.com.evil.net
|
| 88 |
+
return host === domain || host.endsWith('.' + domain)
|
| 89 |
+
}
|
| 90 |
+
var isGitHub = onHost('github.com')
|
| 91 |
+
var isPayPal = onHost('paypal.me') || onHost('paypal.com')
|
| 92 |
+
|
| 93 |
+
// A whole path SEGMENT, so /ColinGPT9/clips-studio/releases matches and
|
| 94 |
+
// so does /releases/latest, while a repository called "releases-notes"
|
| 95 |
+
// does not. Safe to match loosely here: the host is already confirmed.
|
| 96 |
+
var isReleases = /\/releases(\/|$)/.test(url.pathname)
|
| 97 |
+
|
| 98 |
+
var name =
|
| 99 |
+
isGitHub && isReleases
|
| 100 |
+
? 'download_click'
|
| 101 |
+
: isPayPal
|
| 102 |
+
? 'donate_click'
|
| 103 |
+
: isGitHub
|
| 104 |
+
? 'github_click'
|
| 105 |
+
: null
|
| 106 |
+
if (!name) return
|
| 107 |
+
gtag('event', name, {
|
| 108 |
+
// Which page sent them. The Twitch and Kick pages exist to be found
|
| 109 |
+
// by search, so knowing which one converts is the point of having
|
| 110 |
+
// written them.
|
| 111 |
+
page: location.pathname,
|
| 112 |
+
link_url: href
|
| 113 |
+
})
|
| 114 |
+
},
|
| 115 |
+
// Capture phase: the click still navigates away immediately, and a
|
| 116 |
+
// listener that waits for bubbling can lose the event to the unload.
|
| 117 |
+
true
|
| 118 |
+
)
|
| 119 |
+
})()
|
assets/mascot-head.png
ADDED
|
Git LFS Details
|
assets/mascot.png
ADDED
|
Git LFS Details
|
changelog.html
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Changelog: what changed in each Clips Studio release | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Every Clips Studio release and what changed in it, written for creators rather than developers. Free and open-source AI clipping that runs on your own PC."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/changelog.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Clips Studio changelog" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="What changed in each release of Clips Studio, in plain terms."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
|
| 22 |
+
<script type="application/ld+json">
|
| 23 |
+
{
|
| 24 |
+
"@context": "https://schema.org",
|
| 25 |
+
"@type": "WebPage",
|
| 26 |
+
"name": "Clips Studio changelog",
|
| 27 |
+
"description": "Every Clips Studio release and what changed in it, written for creators rather than developers.",
|
| 28 |
+
"url": "https://colingpt9.github.io/clips-studio/changelog.html",
|
| 29 |
+
"isPartOf": {
|
| 30 |
+
"@type": "WebSite",
|
| 31 |
+
"name": "Clips Studio",
|
| 32 |
+
"url": "https://colingpt9.github.io/clips-studio/"
|
| 33 |
+
},
|
| 34 |
+
"about": {
|
| 35 |
+
"@type": "SoftwareApplication",
|
| 36 |
+
"name": "Clips Studio",
|
| 37 |
+
"applicationCategory": "MultimediaApplication",
|
| 38 |
+
"operatingSystem": "Windows",
|
| 39 |
+
"softwareVersion": "0.1.2",
|
| 40 |
+
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }
|
| 41 |
+
}
|
| 42 |
+
}
|
| 43 |
+
</script>
|
| 44 |
+
</head>
|
| 45 |
+
<body>
|
| 46 |
+
<header class="site">
|
| 47 |
+
<div class="wrap">
|
| 48 |
+
<a class="brand" href="index.html">
|
| 49 |
+
<img src="assets/mascot.png" alt="" />
|
| 50 |
+
<span>
|
| 51 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 52 |
+
<span class="tagline">local-first AI clipping</span>
|
| 53 |
+
</span>
|
| 54 |
+
</a>
|
| 55 |
+
<nav class="site" aria-label="Main">
|
| 56 |
+
<a href="index.html">Home</a>
|
| 57 |
+
<a href="twitch.html">Twitch</a>
|
| 58 |
+
<a href="kick.html">Kick</a>
|
| 59 |
+
<a href="youtube.html">YouTube</a>
|
| 60 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 61 |
+
<a href="roadmap.html">Roadmap</a>
|
| 62 |
+
<a href="changelog.html" aria-current="page">Changelog</a>
|
| 63 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 64 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 65 |
+
</nav>
|
| 66 |
+
</div>
|
| 67 |
+
</header>
|
| 68 |
+
|
| 69 |
+
<main>
|
| 70 |
+
<div class="hero">
|
| 71 |
+
<div class="wrap">
|
| 72 |
+
<h1>Changelog</h1>
|
| 73 |
+
<p class="lead">
|
| 74 |
+
What changed in each release, written for people who use Clips Studio rather than
|
| 75 |
+
people who read the commits.
|
| 76 |
+
</p>
|
| 77 |
+
<p class="lead">
|
| 78 |
+
This is an <strong>alpha</strong>. Versions move quickly, and most things listed
|
| 79 |
+
as fixed were broken in a way that only appeared on somebody else's machine.
|
| 80 |
+
</p>
|
| 81 |
+
</div>
|
| 82 |
+
</div>
|
| 83 |
+
|
| 84 |
+
<section>
|
| 85 |
+
<div class="wrap">
|
| 86 |
+
<h2>0.1.2 (10 August 2026)</h2>
|
| 87 |
+
<ul class="ticks">
|
| 88 |
+
<li>
|
| 89 |
+
<strong>Your clip settings are remembered again.</strong> Turning captions off,
|
| 90 |
+
closing the app and reopening it brought captions back. Five settings behaved
|
| 91 |
+
this way; they were read on startup but never actually saved.
|
| 92 |
+
</li>
|
| 93 |
+
<li>
|
| 94 |
+
<strong>The Watermark tickbox works.</strong> It silently refused to stay ticked
|
| 95 |
+
when no branding profile existed. It now says a profile has to be created first,
|
| 96 |
+
rather than looking broken.
|
| 97 |
+
</li>
|
| 98 |
+
<li>
|
| 99 |
+
<strong>A failed render says what went wrong</strong> in one sentence, once,
|
| 100 |
+
instead of pages of encoder output for every affected clip.
|
| 101 |
+
</li>
|
| 102 |
+
<li>
|
| 103 |
+
<strong>The Models page makes sense.</strong> It had one heading, "Your
|
| 104 |
+
hardware", over rows that were not hardware. There are now two tables: what your
|
| 105 |
+
machine can run, and what to pick for a particular job.
|
| 106 |
+
</li>
|
| 107 |
+
<li>
|
| 108 |
+
<strong>More models,</strong> all free to run locally and all usable on clips you
|
| 109 |
+
earn from. The Gemma 4 edge builds are recommended for ordinary and older PCs,
|
| 110 |
+
Qwen3 for translation and multilingual work, and Mistral Nemo or Phi-4 for a
|
| 111 |
+
plainly permissive licence.
|
| 112 |
+
</li>
|
| 113 |
+
</ul>
|
| 114 |
+
</div>
|
| 115 |
+
</section>
|
| 116 |
+
|
| 117 |
+
<section>
|
| 118 |
+
<div class="wrap">
|
| 119 |
+
<h2>0.1.1 (9 August 2026)</h2>
|
| 120 |
+
<p class="section-lead">
|
| 121 |
+
The release that made 0.1.0 usable. Both bugs were packaging mistakes, and both
|
| 122 |
+
were invisible on a development machine, which is exactly how they reached a
|
| 123 |
+
release.
|
| 124 |
+
</p>
|
| 125 |
+
<ul class="ticks">
|
| 126 |
+
<li>
|
| 127 |
+
<strong>No clip could be produced, from any source.</strong> Every job died
|
| 128 |
+
partway through. The bundle had excluded a library the tracking model needs in
|
| 129 |
+
order to load at all.
|
| 130 |
+
</li>
|
| 131 |
+
<li>
|
| 132 |
+
<strong>YouTube downloads failed.</strong> FFmpeg ships inside the app, but the
|
| 133 |
+
downloader looked for it on the system instead of being told where it lived, so
|
| 134 |
+
it could not join YouTube's separate video and audio streams. Twitch and Kick
|
| 135 |
+
were unaffected, because their recordings arrive as a single stream,
|
| 136 |
+
which is what made it look like a YouTube problem rather than a packaging one.
|
| 137 |
+
</li>
|
| 138 |
+
</ul>
|
| 139 |
+
</div>
|
| 140 |
+
</section>
|
| 141 |
+
|
| 142 |
+
<section>
|
| 143 |
+
<div class="wrap">
|
| 144 |
+
<h2>0.1.0 (8 August 2026)</h2>
|
| 145 |
+
<p class="section-lead">First public alpha.</p>
|
| 146 |
+
<ul class="ticks">
|
| 147 |
+
<li>
|
| 148 |
+
Paste a Twitch VOD, Kick VOD or YouTube link and get vertical clips with
|
| 149 |
+
word-synced captions and written titles.
|
| 150 |
+
</li>
|
| 151 |
+
<li>
|
| 152 |
+
Everything runs on your own computer. No uploads, no subscription, no cap on how
|
| 153 |
+
many clips you make.
|
| 154 |
+
</li>
|
| 155 |
+
<li>
|
| 156 |
+
One installer, carrying the app, the engine, FFmpeg, the AI runtime and the
|
| 157 |
+
tracking and transcription models.
|
| 158 |
+
</li>
|
| 159 |
+
<li>
|
| 160 |
+
An editor for fixing anything the AI got wrong, multilingual captions, creator
|
| 161 |
+
profiles that learn from your corrections, and a queue that runs unattended.
|
| 162 |
+
</li>
|
| 163 |
+
</ul>
|
| 164 |
+
<div class="cta-row">
|
| 165 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases" target="_blank" rel="noopener noreferrer">All releases on GitHub</a>
|
| 166 |
+
<a class="btn btn-ghost" href="https://github.com/ColinGPT9/clips-studio/blob/main/KNOWN-ISSUES.md" target="_blank" rel="noopener noreferrer">Known issues</a>
|
| 167 |
+
</div>
|
| 168 |
+
</div>
|
| 169 |
+
</section>
|
| 170 |
+
</main>
|
| 171 |
+
|
| 172 |
+
<footer class="site">
|
| 173 |
+
<div class="wrap cols">
|
| 174 |
+
<span>Free and open source.</span>
|
| 175 |
+
<nav aria-label="Footer">
|
| 176 |
+
<a href="index.html">Home</a>
|
| 177 |
+
<a href="roadmap.html">Roadmap</a>
|
| 178 |
+
<a href="changelog.html">Changelog</a>
|
| 179 |
+
<a href="privacy.html">Privacy</a>
|
| 180 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 181 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 182 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 183 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 184 |
+
</nav>
|
| 185 |
+
</div>
|
| 186 |
+
</footer>
|
| 187 |
+
<script src="analytics.js"></script>
|
| 188 |
+
<script src="donate.js"></script>
|
| 189 |
+
</body>
|
| 190 |
+
</html>
|
donate.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
// Open PayPal in a small popup rather than navigating away, matching what
|
| 2 |
+
// the desktop app does when you press Donate.
|
| 3 |
+
//
|
| 4 |
+
// The links work without this file: they carry target="_blank" already, so
|
| 5 |
+
// with JavaScript off, or if a popup blocker refuses, the donation page
|
| 6 |
+
// still opens in a new tab. This only upgrades that to a sized window and
|
| 7 |
+
// keeps the site itself on screen behind it.
|
| 8 |
+
(function () {
|
| 9 |
+
'use strict';
|
| 10 |
+
|
| 11 |
+
var WIDTH = 500;
|
| 12 |
+
var HEIGHT = 720;
|
| 13 |
+
|
| 14 |
+
document.addEventListener('click', function (event) {
|
| 15 |
+
var link = event.target.closest && event.target.closest('a[href*="paypal.me"]');
|
| 16 |
+
if (!link) return;
|
| 17 |
+
|
| 18 |
+
// Let modified clicks behave normally — middle-click and ctrl-click are
|
| 19 |
+
// how people deliberately open things in their own tab.
|
| 20 |
+
if (event.metaKey || event.ctrlKey || event.shiftKey || event.button !== 0) return;
|
| 21 |
+
|
| 22 |
+
// Centre it on whichever screen the window is actually on.
|
| 23 |
+
var left = window.screenX + Math.max(0, (window.outerWidth - WIDTH) / 2);
|
| 24 |
+
var top = window.screenY + Math.max(0, (window.outerHeight - HEIGHT) / 2);
|
| 25 |
+
|
| 26 |
+
var popup = window.open(
|
| 27 |
+
link.href,
|
| 28 |
+
'clips-studio-donate',
|
| 29 |
+
'width=' + WIDTH + ',height=' + HEIGHT + ',left=' + Math.round(left) +
|
| 30 |
+
',top=' + Math.round(top) + ',resizable=yes,scrollbars=yes'
|
| 31 |
+
);
|
| 32 |
+
|
| 33 |
+
// Blocked, or the browser refused: fall through to the normal link so
|
| 34 |
+
// the click is never simply swallowed.
|
| 35 |
+
if (!popup) return;
|
| 36 |
+
|
| 37 |
+
popup.focus();
|
| 38 |
+
event.preventDefault();
|
| 39 |
+
});
|
| 40 |
+
})();
|
index.html
ADDED
|
@@ -0,0 +1,388 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Clips Studio: free open-source AI clip generator that runs on your own PC</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Turn Twitch, Kick and YouTube videos into vertical clips on your own computer. For creators running a channel on their own. Free, no subscription, no per-clip fees, no uploads."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
|
| 15 |
+
<meta property="og:type" content="website" />
|
| 16 |
+
<meta property="og:title" content="Clips Studio: AI video clipping that runs on your own PC" />
|
| 17 |
+
<meta
|
| 18 |
+
property="og:description"
|
| 19 |
+
content="Paste a Twitch, Kick or YouTube link and get vertical clips with captions. Runs entirely on your machine, with no subscription and no uploads."
|
| 20 |
+
/>
|
| 21 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 22 |
+
<meta property="og:url" content="https://colingpt9.github.io/clips-studio/" />
|
| 23 |
+
<meta name="twitter:card" content="summary_large_image" />
|
| 24 |
+
|
| 25 |
+
<script type="application/ld+json">
|
| 26 |
+
{
|
| 27 |
+
"@context": "https://schema.org",
|
| 28 |
+
"@type": "SoftwareApplication",
|
| 29 |
+
"name": "Clips Studio",
|
| 30 |
+
"applicationCategory": "MultimediaApplication",
|
| 31 |
+
"operatingSystem": "Windows",
|
| 32 |
+
"description": "Open-source AI video clipping that runs locally. Turns Twitch, Kick and YouTube videos into vertical clips with captions and titles.",
|
| 33 |
+
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
|
| 34 |
+
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
|
| 35 |
+
"isAccessibleForFree": true
|
| 36 |
+
}
|
| 37 |
+
</script>
|
| 38 |
+
</head>
|
| 39 |
+
<body>
|
| 40 |
+
<header class="site">
|
| 41 |
+
<div class="wrap">
|
| 42 |
+
<a class="brand" href="index.html">
|
| 43 |
+
<img src="assets/mascot.png" alt="" />
|
| 44 |
+
<span>
|
| 45 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 46 |
+
<span class="tagline">local-first AI clipping</span>
|
| 47 |
+
</span>
|
| 48 |
+
</a>
|
| 49 |
+
<nav class="site" aria-label="Main">
|
| 50 |
+
<a href="index.html" aria-current="page">Home</a>
|
| 51 |
+
<a href="twitch.html">Twitch</a>
|
| 52 |
+
<a href="kick.html">Kick</a>
|
| 53 |
+
<a href="youtube.html">YouTube</a>
|
| 54 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 55 |
+
<a href="roadmap.html">Roadmap</a>
|
| 56 |
+
<a href="changelog.html">Changelog</a>
|
| 57 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 58 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 59 |
+
</nav>
|
| 60 |
+
</div>
|
| 61 |
+
</header>
|
| 62 |
+
|
| 63 |
+
<main>
|
| 64 |
+
<div class="hero">
|
| 65 |
+
<div class="wrap hero-grid">
|
| 66 |
+
<div>
|
| 67 |
+
<h1>AI video clipping that runs on your own PC</h1>
|
| 68 |
+
<p class="lead">
|
| 69 |
+
Paste a link to a Twitch VOD, a Kick VOD or a YouTube video and hand it to
|
| 70 |
+
<strong>Clippy the Cat</strong>. He watches the whole thing, picks the moments
|
| 71 |
+
worth posting, crops them to fit a phone screen with the speaker kept in frame,
|
| 72 |
+
burns in word-synced captions and writes the titles.
|
| 73 |
+
</p>
|
| 74 |
+
<p class="lead">
|
| 75 |
+
He does it all on your computer. Your footage is never uploaded, there is no
|
| 76 |
+
subscription, and there is no cap on how many clips you make.
|
| 77 |
+
</p>
|
| 78 |
+
<div class="cta-row">
|
| 79 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 80 |
+
>
|
| 81 |
+
<a class="btn btn-ghost" href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">View on GitHub</a
|
| 82 |
+
>
|
| 83 |
+
<span class="cta-note">Windows · NVIDIA GPU recommended</span>
|
| 84 |
+
</div>
|
| 85 |
+
<p class="star-note">
|
| 86 |
+
★ If you find it useful,
|
| 87 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">give it a star</a>. It costs
|
| 88 |
+
nothing, and it is how developers find the app and end up improving it
|
| 89 |
+
for you.
|
| 90 |
+
</p>
|
| 91 |
+
</div>
|
| 92 |
+
<img
|
| 93 |
+
class="mascot"
|
| 94 |
+
src="assets/mascot.png"
|
| 95 |
+
alt="Clippy the Cat, the Clips Studio mascot"
|
| 96 |
+
/>
|
| 97 |
+
</div>
|
| 98 |
+
</div>
|
| 99 |
+
|
| 100 |
+
<section id="support">
|
| 101 |
+
<div class="wrap">
|
| 102 |
+
<div class="support">
|
| 103 |
+
<div class="body">
|
| 104 |
+
<p class="title">Clips Studio is free & open source ❤️</p>
|
| 105 |
+
<p>
|
| 106 |
+
It runs entirely on your PC with no fees. Please consider donating to help
|
| 107 |
+
cover development costs and keep it free for everyone.
|
| 108 |
+
</p>
|
| 109 |
+
</div>
|
| 110 |
+
<a class="btn btn-accent" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate to Clips Studio</a>
|
| 111 |
+
</div>
|
| 112 |
+
</div>
|
| 113 |
+
</section>
|
| 114 |
+
|
| 115 |
+
<section id="why">
|
| 116 |
+
<div class="wrap">
|
| 117 |
+
<h2>For creators doing it all themselves</h2>
|
| 118 |
+
<p class="section-lead">
|
| 119 |
+
If you are growing a channel, you are probably the one filming it, streaming it,
|
| 120 |
+
editing it and posting it. Clipping is how people find you, and it is usually the
|
| 121 |
+
first thing that gets dropped. An editor is a cost most channels cannot
|
| 122 |
+
justify yet, clipping tools charge for every video, and cutting them by hand
|
| 123 |
+
takes a day you needed for something else. So the clips do not get made.
|
| 124 |
+
</p>
|
| 125 |
+
<p class="section-lead">
|
| 126 |
+
That is the reason this exists. Clips Studio runs on your own computer, so it
|
| 127 |
+
costs nothing to use: no subscription, no credits, no charge per clip, no
|
| 128 |
+
limit on how many you make. If you have a PC and something worth posting, you
|
| 129 |
+
can promote your channel without paying anyone, me included.
|
| 130 |
+
</p>
|
| 131 |
+
<p class="note">
|
| 132 |
+
Clipping tools like OpusClip charge a monthly fee or a price per video. Clips
|
| 133 |
+
Studio does not charge anything. It runs on the computer you already own.
|
| 134 |
+
Whether you are just starting out or already growing, the clips should not be
|
| 135 |
+
the thing you have to pay for.
|
| 136 |
+
</p>
|
| 137 |
+
</div>
|
| 138 |
+
</section>
|
| 139 |
+
|
| 140 |
+
<section id="how">
|
| 141 |
+
<div class="wrap">
|
| 142 |
+
<h2>How it works</h2>
|
| 143 |
+
<p class="section-lead">
|
| 144 |
+
Every step runs locally. The only thing that touches the network in a normal run
|
| 145 |
+
is downloading the video you asked for.
|
| 146 |
+
</p>
|
| 147 |
+
<ol class="pipeline">
|
| 148 |
+
<li>
|
| 149 |
+
<strong>Transcription</strong>
|
| 150 |
+
<span
|
| 151 |
+
>faster-whisper with word-level timing, so captions land on the right syllable
|
| 152 |
+
and clips start on a real sentence.</span
|
| 153 |
+
>
|
| 154 |
+
</li>
|
| 155 |
+
<li>
|
| 156 |
+
<strong>Signal analysis</strong>
|
| 157 |
+
<span
|
| 158 |
+
>Loudness spikes, laughter-shaped bursts, scene cuts, motion and on-screen
|
| 159 |
+
reactions, measured across the whole video.</span
|
| 160 |
+
>
|
| 161 |
+
</li>
|
| 162 |
+
<li>
|
| 163 |
+
<strong>Scoring</strong>
|
| 164 |
+
<span
|
| 165 |
+
>A local language model reads the transcript <em>alongside</em> those signals,
|
| 166 |
+
so a quiet line during an explosive moment is judged correctly.</span
|
| 167 |
+
>
|
| 168 |
+
</li>
|
| 169 |
+
<li>
|
| 170 |
+
<strong>Framing</strong>
|
| 171 |
+
<span
|
| 172 |
+
>Pose detection keeps the subject in frame, and in group footage the camera
|
| 173 |
+
follows whoever is speaking. Crops are never stretched.</span
|
| 174 |
+
>
|
| 175 |
+
</li>
|
| 176 |
+
<li>
|
| 177 |
+
<strong>Captions and titles</strong>
|
| 178 |
+
<span
|
| 179 |
+
>Word-synced captions in your style, plus a title, description and hashtags,
|
| 180 |
+
all editable before you export.</span
|
| 181 |
+
>
|
| 182 |
+
</li>
|
| 183 |
+
</ol>
|
| 184 |
+
</div>
|
| 185 |
+
</section>
|
| 186 |
+
|
| 187 |
+
<section id="features">
|
| 188 |
+
<div class="wrap">
|
| 189 |
+
<h2>What you get</h2>
|
| 190 |
+
<div class="grid">
|
| 191 |
+
<div class="card">
|
| 192 |
+
<h3>Finds what transcripts miss</h3>
|
| 193 |
+
<p>
|
| 194 |
+
Laughter, hype and clutch moments often read flat in text. Peaks in the audio
|
| 195 |
+
and video become clip candidates in their own right.
|
| 196 |
+
</p>
|
| 197 |
+
</div>
|
| 198 |
+
<div class="card">
|
| 199 |
+
<h3>Speaker-aware framing</h3>
|
| 200 |
+
<p>
|
| 201 |
+
In multi-person footage the crop follows whoever is talking, detected from
|
| 202 |
+
mouth movement. Podcast mode frames each camera shot separately.
|
| 203 |
+
</p>
|
| 204 |
+
</div>
|
| 205 |
+
<div class="card">
|
| 206 |
+
<h3>A real editor</h3>
|
| 207 |
+
<p>
|
| 208 |
+
Trim, cut, mute words, add a hook, music and a watermark, all non-destructive.
|
| 209 |
+
Or describe the change in plain language and let the AI apply it.
|
| 210 |
+
</p>
|
| 211 |
+
</div>
|
| 212 |
+
<div class="card">
|
| 213 |
+
<h3>19 languages</h3>
|
| 214 |
+
<p>
|
| 215 |
+
Translate, subtitle or dub a clip, with every line shown for review before
|
| 216 |
+
anything is burned in. The app itself is translated into all 19 too.
|
| 217 |
+
</p>
|
| 218 |
+
</div>
|
| 219 |
+
<div class="card">
|
| 220 |
+
<h3>Learns each creator</h3>
|
| 221 |
+
<p>
|
| 222 |
+
Recurring topics, running jokes and ongoing storylines build up per channel and
|
| 223 |
+
sharpen the titles. It stays on your machine, and you can read or wipe it.
|
| 224 |
+
</p>
|
| 225 |
+
</div>
|
| 226 |
+
<div class="card">
|
| 227 |
+
<h3>Long-form too</h3>
|
| 228 |
+
<p>
|
| 229 |
+
The same analysis produces horizontal clips, a best-of highlight reel, or the
|
| 230 |
+
whole stream with the dead air removed.
|
| 231 |
+
</p>
|
| 232 |
+
</div>
|
| 233 |
+
</div>
|
| 234 |
+
</div>
|
| 235 |
+
</section>
|
| 236 |
+
|
| 237 |
+
<section id="fit">
|
| 238 |
+
<div class="wrap">
|
| 239 |
+
<h2>What it's built for</h2>
|
| 240 |
+
<p class="section-lead">
|
| 241 |
+
Worth knowing before you download, so you're not guessing why a clip came out
|
| 242 |
+
the way it did.
|
| 243 |
+
</p>
|
| 244 |
+
<ul class="ticks">
|
| 245 |
+
<li>
|
| 246 |
+
<strong>People on camera, talking.</strong> IRL, just chatting, podcasts,
|
| 247 |
+
vlogs, interviews. This is what the clip-picking and the framing are tuned
|
| 248 |
+
for, and it's what gets tested on real streams before anything ships.
|
| 249 |
+
</li>
|
| 250 |
+
<li class="weak">
|
| 251 |
+
<strong>Gaming and split-screen aren't shipped yet.</strong> Two things
|
| 252 |
+
weren't good enough in testing: the framing didn't reliably find the part
|
| 253 |
+
of the screen where the action was, and subject tracking mistook characters
|
| 254 |
+
<em>inside the game</em> for the streamer. To a person detector, a person on
|
| 255 |
+
screen is a person on screen. That produces clips centred on the wrong
|
| 256 |
+
human, so it's held back rather than shipped half-working. It's being
|
| 257 |
+
worked on.
|
| 258 |
+
</li>
|
| 259 |
+
<li class="weak">
|
| 260 |
+
<strong>Reaction content isn't really its thing.</strong> Clips are chosen
|
| 261 |
+
from what's <em>said</em>; it can't watch the video you're reacting to, so
|
| 262 |
+
the moment that made the clip is invisible to it. Re-uploading someone
|
| 263 |
+
else's footage is also a copyright question worth settling yourself.
|
| 264 |
+
</li>
|
| 265 |
+
</ul>
|
| 266 |
+
<p class="note">
|
| 267 |
+
Nothing here refuses to run. Feed it anything and it will produce clips.
|
| 268 |
+
These are the cases where it's doing less thinking than it looks like, and
|
| 269 |
+
where you should expect to reach for the editor more often.
|
| 270 |
+
</p>
|
| 271 |
+
</div>
|
| 272 |
+
</section>
|
| 273 |
+
|
| 274 |
+
<section id="clippy">
|
| 275 |
+
<div class="wrap hero-grid">
|
| 276 |
+
<div>
|
| 277 |
+
<h2>Meet Clippy</h2>
|
| 278 |
+
<p class="section-lead">
|
| 279 |
+
Clipping a three-hour stream means watching a three-hour stream. Clippy the Cat
|
| 280 |
+
does that part. He sits through the whole thing, notices where the room got loud
|
| 281 |
+
and where the story turned, and comes back with the bits worth posting.
|
| 282 |
+
</p>
|
| 283 |
+
<ul class="ticks">
|
| 284 |
+
<li>
|
| 285 |
+
<strong>He watches, you choose.</strong> Clippy brings back everything that
|
| 286 |
+
cleared the bar, not a fixed three, so you pick what actually goes out.
|
| 287 |
+
</li>
|
| 288 |
+
<li>
|
| 289 |
+
<strong>He remembers your creators.</strong> Running jokes and ongoing
|
| 290 |
+
storylines build up per channel, so the titles get sharper over time.
|
| 291 |
+
</li>
|
| 292 |
+
<li>
|
| 293 |
+
<strong>He works on your machine.</strong> Nothing is uploaded, nothing is
|
| 294 |
+
metered, and he does not phone anyone about what he saw.
|
| 295 |
+
</li>
|
| 296 |
+
</ul>
|
| 297 |
+
</div>
|
| 298 |
+
<img
|
| 299 |
+
class="mascot"
|
| 300 |
+
src="assets/mascot.png"
|
| 301 |
+
alt=""
|
| 302 |
+
width="210"
|
| 303 |
+
/>
|
| 304 |
+
</div>
|
| 305 |
+
</section>
|
| 306 |
+
|
| 307 |
+
<section id="local">
|
| 308 |
+
<div class="wrap">
|
| 309 |
+
<h2>Why local matters</h2>
|
| 310 |
+
<div class="grid">
|
| 311 |
+
<div class="card">
|
| 312 |
+
<h3>Nothing is uploaded</h3>
|
| 313 |
+
<p>
|
| 314 |
+
Unreleased footage, sponsor reads and personal streams never leave your
|
| 315 |
+
computer. There is no account and no server holding your video.
|
| 316 |
+
</p>
|
| 317 |
+
</div>
|
| 318 |
+
<div class="card">
|
| 319 |
+
<h3>No per-clip cost</h3>
|
| 320 |
+
<p>
|
| 321 |
+
Cloud clippers meter minutes or clips. Running the models yourself costs
|
| 322 |
+
electricity, so processing a three-hour stream twice is free.
|
| 323 |
+
</p>
|
| 324 |
+
</div>
|
| 325 |
+
<div class="card">
|
| 326 |
+
<h3>Yours to change</h3>
|
| 327 |
+
<p>
|
| 328 |
+
Nobody can take it away, put it behind a paywall, or change the terms on you.
|
| 329 |
+
Even how it picks clips is yours to adjust.
|
| 330 |
+
</p>
|
| 331 |
+
</div>
|
| 332 |
+
</div>
|
| 333 |
+
</div>
|
| 334 |
+
</section>
|
| 335 |
+
|
| 336 |
+
<section id="get">
|
| 337 |
+
<div class="wrap">
|
| 338 |
+
<h2>Getting started</h2>
|
| 339 |
+
<p class="section-lead">
|
| 340 |
+
Download <code>ClipsStudio-Web-Setup.exe</code> and run it. A setup wizard takes it
|
| 341 |
+
from there. It checks your computer and downloads an AI model sized to your
|
| 342 |
+
graphics card.
|
| 343 |
+
</p>
|
| 344 |
+
<div class="note">
|
| 345 |
+
<strong>What the installer does and doesn't carry.</strong> It brings the app, the
|
| 346 |
+
whole AI engine, every library it needs, FFmpeg, the local AI runtime and all the
|
| 347 |
+
detection and transcription weights. No Python, no PATH, no terminal, and nothing
|
| 348 |
+
else for you to install. The one thing it fetches on first launch is the language
|
| 349 |
+
model — those are licensed to whoever downloads them, so it can't be handed to you
|
| 350 |
+
in a box. The setup wizard starts that itself and shows a progress bar, so you'll
|
| 351 |
+
want an internet connection the first time you run it. After that it works
|
| 352 |
+
offline.
|
| 353 |
+
</div>
|
| 354 |
+
<div class="note" style="margin-top: 14px">
|
| 355 |
+
<strong>Clips Studio is in alpha.</strong> It works and it's used daily, but you
|
| 356 |
+
will find rough edges. There's a <strong>Feedback</strong> button inside the app
|
| 357 |
+
for reporting them. It needs no account and attaches the details automatically.
|
| 358 |
+
The installer isn't
|
| 359 |
+
code-signed yet, so Windows will warn the first time you run it: choose
|
| 360 |
+
<em>More info → Run anyway</em>.
|
| 361 |
+
</div>
|
| 362 |
+
<div class="cta-row">
|
| 363 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 364 |
+
>
|
| 365 |
+
</div>
|
| 366 |
+
</div>
|
| 367 |
+
</section>
|
| 368 |
+
</main>
|
| 369 |
+
|
| 370 |
+
<footer class="site">
|
| 371 |
+
<div class="wrap cols">
|
| 372 |
+
<span>Free and open source. Made for creators who would rather own their tools.</span>
|
| 373 |
+
<nav aria-label="Footer">
|
| 374 |
+
<a href="roadmap.html">Roadmap</a>
|
| 375 |
+
<a href="changelog.html">Changelog</a>
|
| 376 |
+
<a href="privacy.html">Privacy</a>
|
| 377 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 378 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 379 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 380 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 381 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/ARCHITECTURE.md" target="_blank" rel="noopener noreferrer">How it's built</a>
|
| 382 |
+
</nav>
|
| 383 |
+
</div>
|
| 384 |
+
</footer>
|
| 385 |
+
<script src="analytics.js"></script>
|
| 386 |
+
<script src="donate.js"></script>
|
| 387 |
+
</body>
|
| 388 |
+
</html>
|
kick.html
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Kick clip generator: turn Kick VODs into vertical clips locally | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Turn Kick VODs into vertical clips on your own PC. Free and open source, with no upload and no subscription. Built to score Kick clips on content alone, because Kick keeps no chat after a stream."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/kick.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Kick clip generator that runs on your own PC" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="Clip Kick VODs locally. Free, open source, nothing uploaded."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
</head>
|
| 22 |
+
<body>
|
| 23 |
+
<header class="site">
|
| 24 |
+
<div class="wrap">
|
| 25 |
+
<a class="brand" href="index.html">
|
| 26 |
+
<img src="assets/mascot.png" alt="" />
|
| 27 |
+
<span>
|
| 28 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 29 |
+
<span class="tagline">local-first AI clipping</span>
|
| 30 |
+
</span>
|
| 31 |
+
</a>
|
| 32 |
+
<nav class="site" aria-label="Main">
|
| 33 |
+
<a href="index.html">Home</a>
|
| 34 |
+
<a href="twitch.html">Twitch</a>
|
| 35 |
+
<a href="kick.html" aria-current="page">Kick</a>
|
| 36 |
+
<a href="youtube.html">YouTube</a>
|
| 37 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 38 |
+
<a href="roadmap.html">Roadmap</a>
|
| 39 |
+
<a href="changelog.html">Changelog</a>
|
| 40 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 41 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 42 |
+
</nav>
|
| 43 |
+
</div>
|
| 44 |
+
</header>
|
| 45 |
+
|
| 46 |
+
<main>
|
| 47 |
+
<div class="hero">
|
| 48 |
+
<div class="wrap">
|
| 49 |
+
<span class="eyebrow">Kick VODs</span>
|
| 50 |
+
<h1>Clip Kick VODs on your own machine</h1>
|
| 51 |
+
<p class="lead">
|
| 52 |
+
Paste a <code>kick.com/video/…</code> link. Clippy downloads it, studies it locally
|
| 53 |
+
and returns vertical clips with captions and titles. No account, no upload, no
|
| 54 |
+
per-clip fee.
|
| 55 |
+
</p>
|
| 56 |
+
<div class="cta-row">
|
| 57 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 58 |
+
>
|
| 59 |
+
<span class="cta-note">VODs, not live streams</span>
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
</div>
|
| 63 |
+
|
| 64 |
+
<section id="support">
|
| 65 |
+
<div class="wrap">
|
| 66 |
+
<div class="support">
|
| 67 |
+
<div class="body">
|
| 68 |
+
<p class="title">Clips Studio is free & open source ❤️</p>
|
| 69 |
+
<p>
|
| 70 |
+
It runs entirely on your PC with no fees. Please consider donating to help
|
| 71 |
+
cover development costs and keep it free for everyone.
|
| 72 |
+
</p>
|
| 73 |
+
</div>
|
| 74 |
+
<a class="btn btn-accent" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate to Clips Studio</a>
|
| 75 |
+
</div>
|
| 76 |
+
</div>
|
| 77 |
+
</section>
|
| 78 |
+
|
| 79 |
+
<section>
|
| 80 |
+
<div class="wrap">
|
| 81 |
+
<h2>Kick throws its chat away, so the video has to speak</h2>
|
| 82 |
+
<p class="section-lead">
|
| 83 |
+
Kick keeps no chat replay once a stream ends. On Twitch, chat is a useful hint
|
| 84 |
+
about which moments landed. On Kick there is nothing to read, so a clipper that
|
| 85 |
+
leans on audience reaction has nothing to lean on.
|
| 86 |
+
</p>
|
| 87 |
+
<p class="section-lead">
|
| 88 |
+
That is fine here, because audience data was only ever a small capped bonus.
|
| 89 |
+
Everything that does the real work is measured from the video itself:
|
| 90 |
+
</p>
|
| 91 |
+
<div class="grid">
|
| 92 |
+
<div class="card">
|
| 93 |
+
<h3>What was said</h3>
|
| 94 |
+
<p>
|
| 95 |
+
A local language model reads the transcript for hooks, revelations, strong
|
| 96 |
+
opinions and quotable lines.
|
| 97 |
+
</p>
|
| 98 |
+
</div>
|
| 99 |
+
<div class="card">
|
| 100 |
+
<h3>What it sounded like</h3>
|
| 101 |
+
<p>
|
| 102 |
+
Loudness spikes against a rolling median, laughter-shaped bursts, and the
|
| 103 |
+
silence-then-explosion shape that marks a payoff.
|
| 104 |
+
</p>
|
| 105 |
+
</div>
|
| 106 |
+
<div class="card">
|
| 107 |
+
<h3>What it looked like</h3>
|
| 108 |
+
<p>
|
| 109 |
+
Scene cuts, motion, and sudden changes in how much of the frame a face fills:
|
| 110 |
+
a lean into the camera is someone reacting.
|
| 111 |
+
</p>
|
| 112 |
+
</div>
|
| 113 |
+
</div>
|
| 114 |
+
<p class="section-lead" style="margin-top: 26px">
|
| 115 |
+
Each signal is normalised <em>within your own video</em>, so a calm chat stream and
|
| 116 |
+
a shouting one both produce meaningful peaks. Nothing is scored against some
|
| 117 |
+
average of other people's content.
|
| 118 |
+
</p>
|
| 119 |
+
</div>
|
| 120 |
+
</section>
|
| 121 |
+
|
| 122 |
+
<section>
|
| 123 |
+
<div class="wrap">
|
| 124 |
+
<h2>Good to know</h2>
|
| 125 |
+
<ul class="ticks">
|
| 126 |
+
<li><strong>Finished VODs only.</strong> Live streams are deliberately not supported.</li>
|
| 127 |
+
<li>
|
| 128 |
+
<strong>Kick VODs download as H.264</strong>, which decodes fast in hardware. Long
|
| 129 |
+
Kick streams process at roughly the same speed as Twitch ones.
|
| 130 |
+
</li>
|
| 131 |
+
<li>
|
| 132 |
+
<strong>No Kick account needed.</strong> No login, no API key, no rate limit to
|
| 133 |
+
worry about.
|
| 134 |
+
</li>
|
| 135 |
+
</ul>
|
| 136 |
+
</div>
|
| 137 |
+
</section>
|
| 138 |
+
|
| 139 |
+
<section>
|
| 140 |
+
<div class="wrap">
|
| 141 |
+
<h2>Start clipping</h2>
|
| 142 |
+
<div class="cta-row">
|
| 143 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 144 |
+
>
|
| 145 |
+
<a class="btn btn-ghost" href="twitch.html">Clipping Twitch too?</a>
|
| 146 |
+
</div>
|
| 147 |
+
</div>
|
| 148 |
+
</section>
|
| 149 |
+
</main>
|
| 150 |
+
|
| 151 |
+
<footer class="site">
|
| 152 |
+
<div class="wrap cols">
|
| 153 |
+
<span>Free and open source.</span>
|
| 154 |
+
<nav aria-label="Footer">
|
| 155 |
+
<a href="index.html">Home</a>
|
| 156 |
+
<a href="roadmap.html">Roadmap</a>
|
| 157 |
+
<a href="changelog.html">Changelog</a>
|
| 158 |
+
<a href="privacy.html">Privacy</a>
|
| 159 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 160 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 161 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 162 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 163 |
+
</nav>
|
| 164 |
+
</div>
|
| 165 |
+
</footer>
|
| 166 |
+
<script src="analytics.js"></script>
|
| 167 |
+
<script src="donate.js"></script>
|
| 168 |
+
</body>
|
| 169 |
+
</html>
|
llms.txt
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Clips Studio
|
| 2 |
+
|
| 3 |
+
> Free, open-source AI video clipping that runs entirely on your own Windows PC.
|
| 4 |
+
> Paste a Twitch VOD, Kick VOD or YouTube link and it finds the moments worth
|
| 5 |
+
> posting, crops them to vertical with the speaker kept in frame, burns in
|
| 6 |
+
> word-synced captions and writes the titles. No uploads, no subscription, no
|
| 7 |
+
> per-clip fee. AGPL-3.0.
|
| 8 |
+
|
| 9 |
+
Clips Studio is a desktop application, not a web service. Everything — the
|
| 10 |
+
transcription, the clip selection, the subject tracking and the language model
|
| 11 |
+
— runs on the user's own machine. It is a local-first alternative to cloud
|
| 12 |
+
clipping tools such as OpusClip, aimed at creators who would rather not pay per
|
| 13 |
+
video or upload their footage to someone else's server.
|
| 14 |
+
|
| 15 |
+
## What it actually does
|
| 16 |
+
|
| 17 |
+
- **Transcribes** with faster-whisper at word level, so captions land on the
|
| 18 |
+
right syllable and clips start on real sentence boundaries.
|
| 19 |
+
- **Scores** candidate moments with a local language model reading the
|
| 20 |
+
transcript alongside audio and visual signals — loudness, laughter-shaped
|
| 21 |
+
bursts, scene cuts, motion, on-screen reactions.
|
| 22 |
+
- **Reframes** to 9:16 with YOLO pose tracking and active-speaker detection, so
|
| 23 |
+
the person talking stays in shot and it cuts between speakers rather than
|
| 24 |
+
zooming out to hold both.
|
| 25 |
+
- **Edits**: a built-in editor for fixing anything the AI got wrong, caption
|
| 26 |
+
styling, watermarks, multilingual captions and dubbing.
|
| 27 |
+
|
| 28 |
+
## What it is good and bad at
|
| 29 |
+
|
| 30 |
+
- **Good at:** IRL, just chatting, podcasts, vlogs, interviews. That is what it
|
| 31 |
+
is tuned for and tested on.
|
| 32 |
+
- **Not yet:** gaming, split-screen and reaction videos. The framing did not
|
| 33 |
+
reliably find the action, and subject tracking mistook characters inside a
|
| 34 |
+
game for the streamer, so it is held back rather than shipped half-working.
|
| 35 |
+
|
| 36 |
+
## Requirements
|
| 37 |
+
|
| 38 |
+
Windows 10 or 11, 64-bit. 16 GB RAM recommended, ~20 GB free disk. An NVIDIA
|
| 39 |
+
GPU is strongly recommended — it runs on CPU, just far slower. One installer
|
| 40 |
+
carries the app, the engine, FFmpeg, the Ollama runtime and the tracking and
|
| 41 |
+
transcription models; the language model downloads on first launch, sized to
|
| 42 |
+
the graphics card.
|
| 43 |
+
|
| 44 |
+
## Links
|
| 45 |
+
|
| 46 |
+
- [Website](https://colingpt9.github.io/clips-studio/)
|
| 47 |
+
- [Source on GitHub](https://github.com/ColinGPT9/clips-studio)
|
| 48 |
+
- [Download](https://github.com/ColinGPT9/clips-studio/releases)
|
| 49 |
+
- [Architecture](https://github.com/ColinGPT9/clips-studio/blob/main/ARCHITECTURE.md)
|
| 50 |
+
- [Changelog](https://colingpt9.github.io/clips-studio/changelog.html)
|
| 51 |
+
- [Roadmap](https://colingpt9.github.io/clips-studio/roadmap.html)
|
| 52 |
+
- [Known issues](https://github.com/ColinGPT9/clips-studio/blob/main/KNOWN-ISSUES.md)
|
| 53 |
+
- [Clipping Twitch](https://colingpt9.github.io/clips-studio/twitch.html)
|
| 54 |
+
- [Clipping Kick](https://colingpt9.github.io/clips-studio/kick.html)
|
| 55 |
+
- [Clipping YouTube](https://colingpt9.github.io/clips-studio/youtube.html)
|
| 56 |
+
- [Local vs cloud clipping](https://colingpt9.github.io/clips-studio/local-vs-cloud.html)
|
| 57 |
+
|
| 58 |
+
## Status
|
| 59 |
+
|
| 60 |
+
Alpha. It works and is used daily, but it is early and has rough edges, which
|
| 61 |
+
are listed honestly in the known-issues document rather than discovered by
|
| 62 |
+
users.
|
local-vs-cloud.html
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Local AI clipping vs uploading to a service | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="What changes when an AI clipper runs on your own PC instead of a server: no uploads, no subscription, no clip limits, and the AI model is your choice. Clips Studio is free and open source."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/local-vs-cloud.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Local AI clipping vs uploading to a service" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="No uploads, no subscription, no clip limits. What running the AI on your own machine changes."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
</head>
|
| 22 |
+
<body>
|
| 23 |
+
<header class="site">
|
| 24 |
+
<div class="wrap">
|
| 25 |
+
<a class="brand" href="index.html">
|
| 26 |
+
<img src="assets/mascot.png" alt="" />
|
| 27 |
+
<span>
|
| 28 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 29 |
+
<span class="tagline">local-first AI clipping</span>
|
| 30 |
+
</span>
|
| 31 |
+
</a>
|
| 32 |
+
<nav class="site" aria-label="Main">
|
| 33 |
+
<a href="index.html">Home</a>
|
| 34 |
+
<a href="twitch.html">Twitch</a>
|
| 35 |
+
<a href="kick.html">Kick</a>
|
| 36 |
+
<a href="youtube.html">YouTube</a>
|
| 37 |
+
<a href="local-vs-cloud.html" aria-current="page">Local vs cloud</a>
|
| 38 |
+
<a href="roadmap.html">Roadmap</a>
|
| 39 |
+
<a href="changelog.html">Changelog</a>
|
| 40 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 41 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 42 |
+
</nav>
|
| 43 |
+
</div>
|
| 44 |
+
</header>
|
| 45 |
+
|
| 46 |
+
<main>
|
| 47 |
+
<div class="hero">
|
| 48 |
+
<div class="wrap">
|
| 49 |
+
<span class="eyebrow">Comparison</span>
|
| 50 |
+
<h1>What running it locally actually means</h1>
|
| 51 |
+
<p class="lead">
|
| 52 |
+
Most clipping tools upload your video to a server and charge a monthly fee. Clips
|
| 53 |
+
Studio runs on your own computer instead. Here is what that changes.
|
| 54 |
+
</p>
|
| 55 |
+
</div>
|
| 56 |
+
</div>
|
| 57 |
+
|
| 58 |
+
<section id="support">
|
| 59 |
+
<div class="wrap">
|
| 60 |
+
<div class="support">
|
| 61 |
+
<div class="body">
|
| 62 |
+
<p class="title">Clips Studio is free & open source ❤️</p>
|
| 63 |
+
<p>
|
| 64 |
+
It runs entirely on your PC with no fees. Please consider donating to help
|
| 65 |
+
cover development costs and keep it free for everyone.
|
| 66 |
+
</p>
|
| 67 |
+
</div>
|
| 68 |
+
<a class="btn btn-accent" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate to Clips Studio</a>
|
| 69 |
+
</div>
|
| 70 |
+
</div>
|
| 71 |
+
</section>
|
| 72 |
+
|
| 73 |
+
<section>
|
| 74 |
+
<div class="wrap">
|
| 75 |
+
<h2>Side by side</h2>
|
| 76 |
+
<div class="table-scroll">
|
| 77 |
+
<table>
|
| 78 |
+
<thead>
|
| 79 |
+
<tr>
|
| 80 |
+
<th> </th>
|
| 81 |
+
<th>Clips Studio (local)</th>
|
| 82 |
+
<th>Typical cloud clipper</th>
|
| 83 |
+
</tr>
|
| 84 |
+
</thead>
|
| 85 |
+
<tbody>
|
| 86 |
+
<tr>
|
| 87 |
+
<td><strong>Cost</strong></td>
|
| 88 |
+
<td>Free. You pay for electricity.</td>
|
| 89 |
+
<td>Monthly, usually metered by minutes or clips.</td>
|
| 90 |
+
</tr>
|
| 91 |
+
<tr>
|
| 92 |
+
<td><strong>Your footage</strong></td>
|
| 93 |
+
<td>Never leaves your computer.</td>
|
| 94 |
+
<td>Uploaded and processed on their servers.</td>
|
| 95 |
+
</tr>
|
| 96 |
+
<tr>
|
| 97 |
+
<td><strong>Volume</strong></td>
|
| 98 |
+
<td>Unlimited. Re-run a stream as often as you like.</td>
|
| 99 |
+
<td>Capped by your plan.</td>
|
| 100 |
+
</tr>
|
| 101 |
+
<tr>
|
| 102 |
+
<td><strong>Waiting</strong></td>
|
| 103 |
+
<td>No upload. Processing runs in the background while you work.</td>
|
| 104 |
+
<td>Upload the whole video first, then wait in a queue.</td>
|
| 105 |
+
</tr>
|
| 106 |
+
<tr>
|
| 107 |
+
<td><strong>The AI model</strong></td>
|
| 108 |
+
<td>Your choice, swapped in one click. Bigger GPU, bigger model.</td>
|
| 109 |
+
<td>Whichever one the service picked.</td>
|
| 110 |
+
</tr>
|
| 111 |
+
<tr>
|
| 112 |
+
<td><strong>Offline</strong></td>
|
| 113 |
+
<td>Works with no internet once set up.</td>
|
| 114 |
+
<td>Needs a connection for everything.</td>
|
| 115 |
+
</tr>
|
| 116 |
+
<tr>
|
| 117 |
+
<td><strong>Control</strong></td>
|
| 118 |
+
<td>Yours to keep and change. Even how it scores clips is editable.</td>
|
| 119 |
+
<td>Whatever the product exposes.</td>
|
| 120 |
+
</tr>
|
| 121 |
+
</tbody>
|
| 122 |
+
</table>
|
| 123 |
+
</div>
|
| 124 |
+
</div>
|
| 125 |
+
</section>
|
| 126 |
+
|
| 127 |
+
<section>
|
| 128 |
+
<div class="wrap">
|
| 129 |
+
<h2>What it asks of you</h2>
|
| 130 |
+
<ul class="ticks">
|
| 131 |
+
<li>
|
| 132 |
+
<strong>A one-time setup.</strong> An installer and a model download, rather than
|
| 133 |
+
signing up and pasting a link. The wizard walks through it.
|
| 134 |
+
</li>
|
| 135 |
+
<li>
|
| 136 |
+
<strong>Your own hardware.</strong> A long stream keeps the GPU busy for a while.
|
| 137 |
+
It runs in the background, but the computer is doing real work.
|
| 138 |
+
</li>
|
| 139 |
+
<li>
|
| 140 |
+
<strong>A graphics card, ideally.</strong> It runs without one, just slowly. An
|
| 141 |
+
NVIDIA GPU makes the biggest difference.
|
| 142 |
+
</li>
|
| 143 |
+
</ul>
|
| 144 |
+
</div>
|
| 145 |
+
</section>
|
| 146 |
+
|
| 147 |
+
<section>
|
| 148 |
+
<div class="wrap">
|
| 149 |
+
<h2>How it finds the good moments</h2>
|
| 150 |
+
<p class="section-lead">
|
| 151 |
+
A model that fits on a consumer graphics card is smaller than one running in a data
|
| 152 |
+
centre. The pipeline is built around that rather than ignoring it.
|
| 153 |
+
</p>
|
| 154 |
+
<ul class="ticks">
|
| 155 |
+
<li>
|
| 156 |
+
<strong>Find more candidates.</strong> Audio and visual peaks become clips in
|
| 157 |
+
their own right, so laughter and chaos are not missed just because the transcript
|
| 158 |
+
reads flat.
|
| 159 |
+
</li>
|
| 160 |
+
<li>
|
| 161 |
+
<strong>Rank, don't grade.</strong> Small models score everything in a narrow
|
| 162 |
+
band, so the finalists are compared against each other in one pass. Relative
|
| 163 |
+
judgement is far easier than absolute scoring.
|
| 164 |
+
</li>
|
| 165 |
+
<li>
|
| 166 |
+
<strong>Keep the human.</strong> You are going to review clips before posting
|
| 167 |
+
anyway. The model only has to get good moments <em>into the shortlist</em>, and you
|
| 168 |
+
pick the winners, which is the cheapest quality multiplier there is.
|
| 169 |
+
</li>
|
| 170 |
+
<li>
|
| 171 |
+
<strong>Scale with hardware.</strong> A bigger GPU means a bigger model, one
|
| 172 |
+
click, no new subscription.
|
| 173 |
+
</li>
|
| 174 |
+
</ul>
|
| 175 |
+
</div>
|
| 176 |
+
</section>
|
| 177 |
+
|
| 178 |
+
<section>
|
| 179 |
+
<div class="wrap">
|
| 180 |
+
<h2>Who this is actually for</h2>
|
| 181 |
+
<div class="grid">
|
| 182 |
+
<div class="card">
|
| 183 |
+
<h3>High volume</h3>
|
| 184 |
+
<p>
|
| 185 |
+
Clipping several long streams a week, where metered plans get expensive fast.
|
| 186 |
+
</p>
|
| 187 |
+
</div>
|
| 188 |
+
<div class="card">
|
| 189 |
+
<h3>Sensitive footage</h3>
|
| 190 |
+
<p>
|
| 191 |
+
Unreleased videos, sponsor reads, anything you would rather not hand to a third
|
| 192 |
+
party.
|
| 193 |
+
</p>
|
| 194 |
+
</div>
|
| 195 |
+
<div class="card">
|
| 196 |
+
<h3>People who like owning things</h3>
|
| 197 |
+
<p>
|
| 198 |
+
If the idea of tuning the scoring prompt yourself sounds good rather than
|
| 199 |
+
exhausting, you are in the right place.
|
| 200 |
+
</p>
|
| 201 |
+
</div>
|
| 202 |
+
</div>
|
| 203 |
+
<div class="cta-row">
|
| 204 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 205 |
+
>
|
| 206 |
+
<a class="btn btn-ghost" href="index.html">Back to the overview</a>
|
| 207 |
+
</div>
|
| 208 |
+
</div>
|
| 209 |
+
</section>
|
| 210 |
+
</main>
|
| 211 |
+
|
| 212 |
+
<footer class="site">
|
| 213 |
+
<div class="wrap cols">
|
| 214 |
+
<span>Free and open source.</span>
|
| 215 |
+
<nav aria-label="Footer">
|
| 216 |
+
<a href="index.html">Home</a>
|
| 217 |
+
<a href="roadmap.html">Roadmap</a>
|
| 218 |
+
<a href="changelog.html">Changelog</a>
|
| 219 |
+
<a href="privacy.html">Privacy</a>
|
| 220 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 221 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 222 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 223 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 224 |
+
</nav>
|
| 225 |
+
</div>
|
| 226 |
+
</footer>
|
| 227 |
+
<script src="analytics.js"></script>
|
| 228 |
+
<script src="donate.js"></script>
|
| 229 |
+
</body>
|
| 230 |
+
</html>
|
privacy.html
ADDED
|
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Privacy policy | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Clips Studio processes your video entirely on your own PC. There is no telemetry, no account, and nothing is uploaded unless you press a button that says so. Full privacy policy."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/privacy.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Clips Studio privacy policy" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="No telemetry, no account, no uploads. What the app stores, what leaves your machine, and when."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
</head>
|
| 22 |
+
<body>
|
| 23 |
+
<header class="site">
|
| 24 |
+
<div class="wrap">
|
| 25 |
+
<a class="brand" href="index.html">
|
| 26 |
+
<img src="assets/mascot.png" alt="" />
|
| 27 |
+
<span>
|
| 28 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 29 |
+
<span class="tagline">local-first AI clipping</span>
|
| 30 |
+
</span>
|
| 31 |
+
</a>
|
| 32 |
+
<nav class="site" aria-label="Main">
|
| 33 |
+
<a href="index.html">Home</a>
|
| 34 |
+
<a href="twitch.html">Twitch</a>
|
| 35 |
+
<a href="kick.html">Kick</a>
|
| 36 |
+
<a href="youtube.html">YouTube</a>
|
| 37 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 38 |
+
<a href="roadmap.html">Roadmap</a>
|
| 39 |
+
<a href="changelog.html">Changelog</a>
|
| 40 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 41 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 42 |
+
</nav>
|
| 43 |
+
</div>
|
| 44 |
+
</header>
|
| 45 |
+
|
| 46 |
+
<main>
|
| 47 |
+
<div class="hero">
|
| 48 |
+
<div class="wrap">
|
| 49 |
+
<span class="eyebrow">Privacy policy</span>
|
| 50 |
+
<h1>Clips Studio does not collect anything about you</h1>
|
| 51 |
+
<p class="lead">
|
| 52 |
+
No account, no sign-in, no telemetry, no analytics inside the app. Your video is
|
| 53 |
+
processed on your own computer and never uploaded anywhere. This page explains
|
| 54 |
+
exactly what is stored, what can leave your machine, and what triggers it.
|
| 55 |
+
</p>
|
| 56 |
+
<p><strong>Last updated:</strong> 12 August 2026</p>
|
| 57 |
+
</div>
|
| 58 |
+
</div>
|
| 59 |
+
|
| 60 |
+
<section>
|
| 61 |
+
<div class="wrap">
|
| 62 |
+
<h2>The short version</h2>
|
| 63 |
+
<ul>
|
| 64 |
+
<li><strong>No telemetry.</strong> The app reports nothing back. There is no usage tracking, no crash reporting, and no analytics of any kind inside Clips Studio.</li>
|
| 65 |
+
<li><strong>No account.</strong> There is nothing to sign up for and nothing to sign in to.</li>
|
| 66 |
+
<li><strong>Your video never leaves your PC.</strong> Transcription, scoring, face tracking, subtitles and rendering all run locally, on your own hardware.</li>
|
| 67 |
+
<li><strong>The AI runs locally too.</strong> The language model runs on your machine through Ollama. Your transcript is not sent to OpenAI, Google, Anthropic or anyone else.</li>
|
| 68 |
+
<li><strong>Two things reach the internet, and both are obvious:</strong> downloading a video you asked for, and downloading an AI model you chose.</li>
|
| 69 |
+
</ul>
|
| 70 |
+
</div>
|
| 71 |
+
</section>
|
| 72 |
+
|
| 73 |
+
<section>
|
| 74 |
+
<div class="wrap">
|
| 75 |
+
<h2>What is stored, and where</h2>
|
| 76 |
+
<p>
|
| 77 |
+
Everything Clips Studio creates stays in one folder on your own computer:
|
| 78 |
+
</p>
|
| 79 |
+
<p><code>%LOCALAPPDATA%\Clips Studio</code></p>
|
| 80 |
+
<ul>
|
| 81 |
+
<li>Videos you downloaded or imported, and the clips rendered from them</li>
|
| 82 |
+
<li>A local SQLite database of what has been processed, the scores it gave, and your creator profiles</li>
|
| 83 |
+
<li>Your settings</li>
|
| 84 |
+
<li>The AI models you downloaded</li>
|
| 85 |
+
</ul>
|
| 86 |
+
<p>
|
| 87 |
+
None of this is synced, backed up or transmitted. Uninstalling the app deliberately
|
| 88 |
+
leaves the folder in place, because it holds your footage; delete it yourself if you
|
| 89 |
+
want it gone.
|
| 90 |
+
</p>
|
| 91 |
+
</div>
|
| 92 |
+
</section>
|
| 93 |
+
|
| 94 |
+
<section>
|
| 95 |
+
<div class="wrap">
|
| 96 |
+
<h2>When Clips Studio uses the network</h2>
|
| 97 |
+
<h3>Because you asked it to</h3>
|
| 98 |
+
<ul>
|
| 99 |
+
<li><strong>Downloading a video.</strong> Pasting a YouTube, Twitch or Kick link fetches that video from that platform. Your request goes to them, subject to their own privacy policies, exactly as if you had opened the page in a browser.</li>
|
| 100 |
+
<li><strong>Downloading an AI model.</strong> Choosing a model fetches it from the Ollama library. That is a file download; nothing about you is sent with it.</li>
|
| 101 |
+
<li><strong>Checking for updates.</strong> The desktop app asks a static file on Hugging Face whether a newer version exists. This is a plain file fetch with no identifier attached, and it can be turned off in Settings. Copies installed from the Microsoft Store do not do this at all, because the Store handles updates.</li>
|
| 102 |
+
</ul>
|
| 103 |
+
|
| 104 |
+
<h3>Only if you submit a report</h3>
|
| 105 |
+
<p>
|
| 106 |
+
The in-app Feedback Hub can file a bug report for you, so you do not need a GitHub
|
| 107 |
+
account. Nothing is sent until you press Submit, and the exact contents are shown to
|
| 108 |
+
you first.
|
| 109 |
+
</p>
|
| 110 |
+
<p>A report contains what someone needs to reproduce the problem:</p>
|
| 111 |
+
<ul>
|
| 112 |
+
<li>What you typed in the report</li>
|
| 113 |
+
<li>App version, operating system version, CPU, RAM, and graphics card model</li>
|
| 114 |
+
<li>Which AI model and settings were in use</li>
|
| 115 |
+
<li>Recent log output, with email addresses, secret-shaped strings and your Windows username automatically stripped out</li>
|
| 116 |
+
<li>The platform and channel name of the video involved, if any — public information, and usually the whole point of the report</li>
|
| 117 |
+
<li>Any screenshots you chose to attach</li>
|
| 118 |
+
</ul>
|
| 119 |
+
<p>
|
| 120 |
+
<strong>Reports become public GitHub issues.</strong> They travel through a relay that
|
| 121 |
+
files them on the project's issue tracker, so do not put anything in one you would not
|
| 122 |
+
post publicly. If you would rather send nothing, do not use the Feedback Hub; the app
|
| 123 |
+
works exactly the same without it.
|
| 124 |
+
</p>
|
| 125 |
+
|
| 126 |
+
<h3>Only if you set it up yourself</h3>
|
| 127 |
+
<p>
|
| 128 |
+
Clips Studio has an optional command-line feature that can upload finished clips to
|
| 129 |
+
your own YouTube channel. It is switched off, it is not part of the desktop app, and
|
| 130 |
+
it does nothing unless you create your own Google Cloud credentials and place them in
|
| 131 |
+
the config folder. If you do, the resulting authorisation token is stored on your
|
| 132 |
+
machine and used only to upload to your channel. It is never sent to us — there is no
|
| 133 |
+
"us" to send it to, since Clips Studio has no server.
|
| 134 |
+
</p>
|
| 135 |
+
</div>
|
| 136 |
+
</section>
|
| 137 |
+
|
| 138 |
+
<section>
|
| 139 |
+
<div class="wrap">
|
| 140 |
+
<h2>This website</h2>
|
| 141 |
+
<p>
|
| 142 |
+
The site is hosted on GitHub Pages, which records ordinary web server logs including
|
| 143 |
+
IP addresses, as described in
|
| 144 |
+
<a href="https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement" target="_blank" rel="noopener noreferrer">GitHub's privacy statement</a>.
|
| 145 |
+
</p>
|
| 146 |
+
<p>
|
| 147 |
+
The site includes a Google Analytics loader that is <strong>not configured and does
|
| 148 |
+
nothing</strong>: with no measurement ID set, no script is fetched and no cookie is
|
| 149 |
+
written. If that ever changes, this page will say so before it does.
|
| 150 |
+
</p>
|
| 151 |
+
<p>
|
| 152 |
+
Donation links go to PayPal. Any payment happens on PayPal's own site under their
|
| 153 |
+
privacy policy; Clips Studio never sees your payment details, and no donation is
|
| 154 |
+
required to use anything.
|
| 155 |
+
</p>
|
| 156 |
+
</div>
|
| 157 |
+
</section>
|
| 158 |
+
|
| 159 |
+
<section>
|
| 160 |
+
<div class="wrap">
|
| 161 |
+
<h2>Children</h2>
|
| 162 |
+
<p>
|
| 163 |
+
Clips Studio is a video editing tool for content creators. It is not directed at
|
| 164 |
+
children, and it collects no personal information from anyone, including children.
|
| 165 |
+
</p>
|
| 166 |
+
</div>
|
| 167 |
+
</section>
|
| 168 |
+
|
| 169 |
+
<section>
|
| 170 |
+
<div class="wrap">
|
| 171 |
+
<h2>How to verify any of this</h2>
|
| 172 |
+
<p>
|
| 173 |
+
You do not have to take this page's word for it. Clips Studio is open source under the
|
| 174 |
+
GNU AGPL-3.0 licence, and every network call in it can be read:
|
| 175 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">github.com/ColinGPT9/clips-studio</a>.
|
| 176 |
+
If you find something this policy does not describe, that is a bug — please
|
| 177 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">open an issue</a>.
|
| 178 |
+
</p>
|
| 179 |
+
</div>
|
| 180 |
+
</section>
|
| 181 |
+
|
| 182 |
+
<section>
|
| 183 |
+
<div class="wrap">
|
| 184 |
+
<h2>Changes and contact</h2>
|
| 185 |
+
<p>
|
| 186 |
+
If this policy changes, the date at the top changes with it, and the edit is visible in
|
| 187 |
+
the repository's history like everything else.
|
| 188 |
+
</p>
|
| 189 |
+
<p>
|
| 190 |
+
Questions about privacy:
|
| 191 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">open an issue</a>
|
| 192 |
+
on GitHub.
|
| 193 |
+
</p>
|
| 194 |
+
</div>
|
| 195 |
+
</section>
|
| 196 |
+
</main>
|
| 197 |
+
|
| 198 |
+
<footer class="site">
|
| 199 |
+
<div class="wrap cols">
|
| 200 |
+
<span>Free and open source.</span>
|
| 201 |
+
<nav aria-label="Footer">
|
| 202 |
+
<a href="index.html">Home</a>
|
| 203 |
+
<a href="roadmap.html">Roadmap</a>
|
| 204 |
+
<a href="changelog.html">Changelog</a>
|
| 205 |
+
<a href="privacy.html">Privacy</a>
|
| 206 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 207 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 208 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 209 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 210 |
+
</nav>
|
| 211 |
+
</div>
|
| 212 |
+
</footer>
|
| 213 |
+
<script src="analytics.js"></script>
|
| 214 |
+
<script src="donate.js"></script>
|
| 215 |
+
</body>
|
| 216 |
+
</html>
|
roadmap.html
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Roadmap: what Clips Studio does now and what is coming | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="What Clips Studio already does, what is being worked on, and where a local-first AI clipping tool goes as consumer AI hardware improves. Free and open source."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/roadmap.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Clips Studio roadmap" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="What is shipped, what is next, and the long-term direction for local-first AI clipping."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
|
| 22 |
+
<script type="application/ld+json">
|
| 23 |
+
{
|
| 24 |
+
"@context": "https://schema.org",
|
| 25 |
+
"@type": "WebPage",
|
| 26 |
+
"name": "Clips Studio roadmap",
|
| 27 |
+
"description": "What Clips Studio does now, what is being worked on, and where a local-first AI clipping tool goes as consumer AI hardware improves.",
|
| 28 |
+
"url": "https://colingpt9.github.io/clips-studio/roadmap.html",
|
| 29 |
+
"isPartOf": {
|
| 30 |
+
"@type": "WebSite",
|
| 31 |
+
"name": "Clips Studio",
|
| 32 |
+
"url": "https://colingpt9.github.io/clips-studio/"
|
| 33 |
+
},
|
| 34 |
+
"about": {
|
| 35 |
+
"@type": "SoftwareApplication",
|
| 36 |
+
"name": "Clips Studio",
|
| 37 |
+
"applicationCategory": "MultimediaApplication",
|
| 38 |
+
"operatingSystem": "Windows",
|
| 39 |
+
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }
|
| 40 |
+
}
|
| 41 |
+
}
|
| 42 |
+
</script>
|
| 43 |
+
</head>
|
| 44 |
+
<body>
|
| 45 |
+
<header class="site">
|
| 46 |
+
<div class="wrap">
|
| 47 |
+
<a class="brand" href="index.html">
|
| 48 |
+
<img src="assets/mascot.png" alt="" />
|
| 49 |
+
<span>
|
| 50 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 51 |
+
<span class="tagline">local-first AI clipping</span>
|
| 52 |
+
</span>
|
| 53 |
+
</a>
|
| 54 |
+
<nav class="site" aria-label="Main">
|
| 55 |
+
<a href="index.html">Home</a>
|
| 56 |
+
<a href="twitch.html">Twitch</a>
|
| 57 |
+
<a href="kick.html">Kick</a>
|
| 58 |
+
<a href="youtube.html">YouTube</a>
|
| 59 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 60 |
+
<a href="roadmap.html" aria-current="page">Roadmap</a>
|
| 61 |
+
<a href="changelog.html">Changelog</a>
|
| 62 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 63 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 64 |
+
</nav>
|
| 65 |
+
</div>
|
| 66 |
+
</header>
|
| 67 |
+
|
| 68 |
+
<main>
|
| 69 |
+
<div class="hero">
|
| 70 |
+
<div class="wrap">
|
| 71 |
+
<h1>Roadmap</h1>
|
| 72 |
+
<p class="lead">
|
| 73 |
+
Where Clips Studio is going, and what already works. Anything listed as shipped is
|
| 74 |
+
in a release you can install today, not a plan.
|
| 75 |
+
</p>
|
| 76 |
+
</div>
|
| 77 |
+
</div>
|
| 78 |
+
|
| 79 |
+
<section>
|
| 80 |
+
<div class="wrap">
|
| 81 |
+
<h2>Now: the alpha</h2>
|
| 82 |
+
<p class="section-lead">
|
| 83 |
+
The alpha exists to find out what breaks on machines that are not the developer's.
|
| 84 |
+
It has already been worth it: the first release could not finish a clip on any
|
| 85 |
+
source, and nobody could have known without installing it somewhere clean.
|
| 86 |
+
</p>
|
| 87 |
+
<ul class="ticks">
|
| 88 |
+
<li>
|
| 89 |
+
<strong>Shipped.</strong> One Windows installer carrying the app, the engine,
|
| 90 |
+
FFmpeg, the AI runtime and the tracking and transcription models. Releases with
|
| 91 |
+
notes, a changelog and a known-issues list. Bug reports and feature requests,
|
| 92 |
+
including an in-app button that needs no GitHub account. Discussions. Security
|
| 93 |
+
scanning. A container image for working on the engine. This website.
|
| 94 |
+
</li>
|
| 95 |
+
<li class="partial">
|
| 96 |
+
<strong>Being worked on.</strong> Code signing, so Windows stops warning that
|
| 97 |
+
the installer is unsigned. Screenshots and a demo video. Progress reporting for
|
| 98 |
+
the scoring stage and for update downloads, so working cannot be mistaken for
|
| 99 |
+
hung. Automated Windows builds.
|
| 100 |
+
</li>
|
| 101 |
+
</ul>
|
| 102 |
+
</div>
|
| 103 |
+
</section>
|
| 104 |
+
|
| 105 |
+
<section>
|
| 106 |
+
<div class="wrap">
|
| 107 |
+
<h2>Next: community</h2>
|
| 108 |
+
<p class="section-lead">
|
| 109 |
+
Making it worth someone's time to contribute: good first issues with enough
|
| 110 |
+
context to pick up cold, contributor recognition, example workflows, community
|
| 111 |
+
showcases, performance benchmarks, and voting on feature requests.
|
| 112 |
+
</p>
|
| 113 |
+
<p class="section-lead">
|
| 114 |
+
Contributions are wanted in features, bug fixes, documentation, translations, AI
|
| 115 |
+
improvements and performance work.
|
| 116 |
+
</p>
|
| 117 |
+
<div class="cta-row">
|
| 118 |
+
<a class="btn btn-ghost" href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">How to contribute</a>
|
| 119 |
+
<a class="btn btn-ghost" href="https://github.com/ColinGPT9/clips-studio/discussions" target="_blank" rel="noopener noreferrer">Discussions</a>
|
| 120 |
+
</div>
|
| 121 |
+
</div>
|
| 122 |
+
</section>
|
| 123 |
+
|
| 124 |
+
<section>
|
| 125 |
+
<div class="wrap">
|
| 126 |
+
<h2>Later</h2>
|
| 127 |
+
<p class="section-lead">None of this delays the alpha.</p>
|
| 128 |
+
<ul class="ticks">
|
| 129 |
+
<li class="weak">
|
| 130 |
+
<strong>Gaming and split-screen, done properly.</strong> The framing has to
|
| 131 |
+
reliably find where the action is, and tracking has to tell a streamer apart
|
| 132 |
+
from a character inside the game. Shipping it half-working would produce clips
|
| 133 |
+
centred on the wrong person.
|
| 134 |
+
</li>
|
| 135 |
+
<li class="weak">
|
| 136 |
+
<strong>Reaction videos.</strong> These need the app to understand the video
|
| 137 |
+
being reacted to, not just the words spoken over it.
|
| 138 |
+
</li>
|
| 139 |
+
<li class="weak">
|
| 140 |
+
<strong>An Android companion app</strong> for Twitch, Kick and local files,
|
| 141 |
+
within Google Play's policies.
|
| 142 |
+
</li>
|
| 143 |
+
<li class="weak">
|
| 144 |
+
<strong>Remote rendering</strong>, a plugin architecture, community extensions,
|
| 145 |
+
creator analytics, and more models and platforms where they earn their place.
|
| 146 |
+
</li>
|
| 147 |
+
</ul>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
|
| 151 |
+
<section>
|
| 152 |
+
<div class="wrap">
|
| 153 |
+
<h2>The long-term idea</h2>
|
| 154 |
+
<p class="section-lead">
|
| 155 |
+
Clips Studio is <strong>local-first</strong>, and that word carries the whole
|
| 156 |
+
design: your footage, your workflows and your data stay on your machine. The app
|
| 157 |
+
gets better as your hardware does, rather than as someone's subscription tier
|
| 158 |
+
does.
|
| 159 |
+
</p>
|
| 160 |
+
<p class="section-lead">
|
| 161 |
+
Consumer AI hardware is improving quickly. The architecture is kept modular so
|
| 162 |
+
newer models and faster machines can be adopted without a redesign. As hardware
|
| 163 |
+
like the NVIDIA RTX Spark and future AI-accelerated GPUs arrives, the same
|
| 164 |
+
application should run larger local models, infer faster, analyse video better
|
| 165 |
+
and automate more.
|
| 166 |
+
</p>
|
| 167 |
+
<p class="note">
|
| 168 |
+
The goal is an open-source creator platform that becomes more capable over time
|
| 169 |
+
because local AI hardware does, not one that becomes more expensive.
|
| 170 |
+
</p>
|
| 171 |
+
<div class="cta-row">
|
| 172 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/blob/main/ROADMAP.md" target="_blank" rel="noopener noreferrer">Full roadmap on GitHub</a>
|
| 173 |
+
<a class="btn btn-ghost" href="changelog.html">What changed recently</a>
|
| 174 |
+
</div>
|
| 175 |
+
</div>
|
| 176 |
+
</section>
|
| 177 |
+
</main>
|
| 178 |
+
|
| 179 |
+
<footer class="site">
|
| 180 |
+
<div class="wrap cols">
|
| 181 |
+
<span>Free and open source.</span>
|
| 182 |
+
<nav aria-label="Footer">
|
| 183 |
+
<a href="index.html">Home</a>
|
| 184 |
+
<a href="roadmap.html">Roadmap</a>
|
| 185 |
+
<a href="changelog.html">Changelog</a>
|
| 186 |
+
<a href="privacy.html">Privacy</a>
|
| 187 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 188 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 189 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 190 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 191 |
+
</nav>
|
| 192 |
+
</div>
|
| 193 |
+
</footer>
|
| 194 |
+
<script src="analytics.js"></script>
|
| 195 |
+
<script src="donate.js"></script>
|
| 196 |
+
</body>
|
| 197 |
+
</html>
|
robots.txt
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
User-agent: *
|
| 2 |
+
Allow: /
|
| 3 |
+
|
| 4 |
+
# AI crawlers are welcome, and the wildcard above already permits them. They
|
| 5 |
+
# are named individually so the intent is on the record: if a future edit adds
|
| 6 |
+
# a blanket disallow, someone has to consciously remove these lines first.
|
| 7 |
+
#
|
| 8 |
+
# This project wants to be findable by people asking an assistant "is there a
|
| 9 |
+
# free local alternative to OpusClip". Being absent from those answers costs
|
| 10 |
+
# more than any crawl traffic saves.
|
| 11 |
+
|
| 12 |
+
# OpenAI: training, ChatGPT search, and user-triggered page fetches
|
| 13 |
+
User-agent: GPTBot
|
| 14 |
+
Allow: /
|
| 15 |
+
User-agent: OAI-SearchBot
|
| 16 |
+
Allow: /
|
| 17 |
+
User-agent: ChatGPT-User
|
| 18 |
+
Allow: /
|
| 19 |
+
|
| 20 |
+
# Google Gemini and Vertex AI. Note this is separate from Googlebot: blocking
|
| 21 |
+
# Google-Extended removes you from Gemini while leaving normal search intact.
|
| 22 |
+
User-agent: Google-Extended
|
| 23 |
+
Allow: /
|
| 24 |
+
|
| 25 |
+
# Anthropic
|
| 26 |
+
User-agent: ClaudeBot
|
| 27 |
+
Allow: /
|
| 28 |
+
User-agent: anthropic-ai
|
| 29 |
+
Allow: /
|
| 30 |
+
|
| 31 |
+
# Perplexity
|
| 32 |
+
User-agent: PerplexityBot
|
| 33 |
+
Allow: /
|
| 34 |
+
|
| 35 |
+
# Common Crawl, which a great many models are trained from second-hand
|
| 36 |
+
User-agent: CCBot
|
| 37 |
+
Allow: /
|
| 38 |
+
|
| 39 |
+
Sitemap: https://colingpt9.github.io/clips-studio/sitemap.xml
|
sitemap.xml
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
| 2 |
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
| 3 |
+
<url>
|
| 4 |
+
<loc>https://colingpt9.github.io/clips-studio/</loc>
|
| 5 |
+
<lastmod>2026-08-12</lastmod>
|
| 6 |
+
<priority>1.0</priority>
|
| 7 |
+
</url>
|
| 8 |
+
<url>
|
| 9 |
+
<loc>https://colingpt9.github.io/clips-studio/changelog.html</loc>
|
| 10 |
+
<lastmod>2026-08-12</lastmod>
|
| 11 |
+
<priority>0.6</priority>
|
| 12 |
+
</url>
|
| 13 |
+
<url>
|
| 14 |
+
<loc>https://colingpt9.github.io/clips-studio/kick.html</loc>
|
| 15 |
+
<lastmod>2026-08-12</lastmod>
|
| 16 |
+
<priority>0.8</priority>
|
| 17 |
+
</url>
|
| 18 |
+
<url>
|
| 19 |
+
<loc>https://colingpt9.github.io/clips-studio/local-vs-cloud.html</loc>
|
| 20 |
+
<lastmod>2026-08-12</lastmod>
|
| 21 |
+
<priority>0.7</priority>
|
| 22 |
+
</url>
|
| 23 |
+
<url>
|
| 24 |
+
<loc>https://colingpt9.github.io/clips-studio/privacy.html</loc>
|
| 25 |
+
<lastmod>2026-08-12</lastmod>
|
| 26 |
+
<priority>0.6</priority>
|
| 27 |
+
</url>
|
| 28 |
+
<url>
|
| 29 |
+
<loc>https://colingpt9.github.io/clips-studio/roadmap.html</loc>
|
| 30 |
+
<lastmod>2026-08-12</lastmod>
|
| 31 |
+
<priority>0.6</priority>
|
| 32 |
+
</url>
|
| 33 |
+
<url>
|
| 34 |
+
<loc>https://colingpt9.github.io/clips-studio/twitch.html</loc>
|
| 35 |
+
<lastmod>2026-08-12</lastmod>
|
| 36 |
+
<priority>0.8</priority>
|
| 37 |
+
</url>
|
| 38 |
+
<url>
|
| 39 |
+
<loc>https://colingpt9.github.io/clips-studio/youtube.html</loc>
|
| 40 |
+
<lastmod>2026-08-12</lastmod>
|
| 41 |
+
<priority>0.8</priority>
|
| 42 |
+
</url>
|
| 43 |
+
</urlset>
|
styles.css
ADDED
|
@@ -0,0 +1,493 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/* Clips Studio website — the desktop app's own design tokens.
|
| 2 |
+
Kept byte-identical to ui/src/renderer/src/theme.css so the site and the
|
| 3 |
+
app are recognisably the same product. Update both together. */
|
| 4 |
+
|
| 5 |
+
:root {
|
| 6 |
+
--base: #0a1628;
|
| 7 |
+
--surface: #13243d;
|
| 8 |
+
--raised: #1c3354;
|
| 9 |
+
--accent: #38bdf8;
|
| 10 |
+
--accent-strong: #0ea5e9;
|
| 11 |
+
--ink: #f1f5f9;
|
| 12 |
+
--muted: #94a3b8;
|
| 13 |
+
--success: #34d399;
|
| 14 |
+
--warn: #fbbf24;
|
| 15 |
+
|
| 16 |
+
--wrap: 1080px;
|
| 17 |
+
--radius: 14px;
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
*,
|
| 21 |
+
*::before,
|
| 22 |
+
*::after {
|
| 23 |
+
box-sizing: border-box;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
html {
|
| 27 |
+
scroll-behavior: smooth;
|
| 28 |
+
}
|
| 29 |
+
|
| 30 |
+
body {
|
| 31 |
+
margin: 0;
|
| 32 |
+
background: var(--base);
|
| 33 |
+
color: var(--ink);
|
| 34 |
+
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
|
| 35 |
+
line-height: 1.65;
|
| 36 |
+
-webkit-font-smoothing: antialiased;
|
| 37 |
+
}
|
| 38 |
+
|
| 39 |
+
/* Same accessibility floor as the app: a visible focus ring on everything
|
| 40 |
+
interactive, and motion honoured as a preference rather than a default. */
|
| 41 |
+
:focus-visible {
|
| 42 |
+
outline: 2px solid var(--accent);
|
| 43 |
+
outline-offset: 3px;
|
| 44 |
+
border-radius: 4px;
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
@media (prefers-reduced-motion: reduce) {
|
| 48 |
+
html {
|
| 49 |
+
scroll-behavior: auto;
|
| 50 |
+
}
|
| 51 |
+
*,
|
| 52 |
+
*::before,
|
| 53 |
+
*::after {
|
| 54 |
+
animation-duration: 0.01ms !important;
|
| 55 |
+
transition-duration: 0.01ms !important;
|
| 56 |
+
}
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
img {
|
| 60 |
+
max-width: 100%;
|
| 61 |
+
height: auto;
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
a {
|
| 65 |
+
color: var(--accent);
|
| 66 |
+
text-decoration: none;
|
| 67 |
+
}
|
| 68 |
+
a:hover {
|
| 69 |
+
text-decoration: underline;
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
.wrap {
|
| 73 |
+
width: 100%;
|
| 74 |
+
max-width: var(--wrap);
|
| 75 |
+
margin: 0 auto;
|
| 76 |
+
padding: 0 20px;
|
| 77 |
+
}
|
| 78 |
+
|
| 79 |
+
/* ---------------------------------------------------------------- header */
|
| 80 |
+
header.site {
|
| 81 |
+
border-bottom: 1px solid rgb(28 51 84 / 0.6);
|
| 82 |
+
background: rgb(10 22 40 / 0.9);
|
| 83 |
+
backdrop-filter: blur(8px);
|
| 84 |
+
position: sticky;
|
| 85 |
+
top: 0;
|
| 86 |
+
z-index: 20;
|
| 87 |
+
}
|
| 88 |
+
header.site .wrap {
|
| 89 |
+
display: flex;
|
| 90 |
+
align-items: center;
|
| 91 |
+
gap: 22px;
|
| 92 |
+
min-height: 62px;
|
| 93 |
+
flex-wrap: wrap;
|
| 94 |
+
}
|
| 95 |
+
/* Matches the app's sidebar: name on top, "local-first AI clipping" under
|
| 96 |
+
it in muted small type. Someone arriving from the site should see the same
|
| 97 |
+
lockup when they open the app. */
|
| 98 |
+
.brand {
|
| 99 |
+
display: flex;
|
| 100 |
+
align-items: center;
|
| 101 |
+
gap: 10px;
|
| 102 |
+
color: var(--ink);
|
| 103 |
+
}
|
| 104 |
+
.brand:hover {
|
| 105 |
+
text-decoration: none;
|
| 106 |
+
}
|
| 107 |
+
.brand img {
|
| 108 |
+
width: 34px;
|
| 109 |
+
height: 34px;
|
| 110 |
+
}
|
| 111 |
+
.brand .name {
|
| 112 |
+
font-weight: 700;
|
| 113 |
+
font-size: 1.05rem;
|
| 114 |
+
line-height: 1.15;
|
| 115 |
+
display: block;
|
| 116 |
+
}
|
| 117 |
+
.brand .name span {
|
| 118 |
+
color: var(--accent);
|
| 119 |
+
}
|
| 120 |
+
.brand .tagline {
|
| 121 |
+
display: block;
|
| 122 |
+
font-size: 0.72rem;
|
| 123 |
+
color: var(--muted);
|
| 124 |
+
font-weight: 400;
|
| 125 |
+
margin-top: 1px;
|
| 126 |
+
}
|
| 127 |
+
nav.site {
|
| 128 |
+
display: flex;
|
| 129 |
+
gap: 18px;
|
| 130 |
+
margin-left: auto;
|
| 131 |
+
font-size: 0.92rem;
|
| 132 |
+
flex-wrap: wrap;
|
| 133 |
+
}
|
| 134 |
+
nav.site a {
|
| 135 |
+
color: var(--muted);
|
| 136 |
+
}
|
| 137 |
+
nav.site a:hover,
|
| 138 |
+
nav.site a[aria-current='page'] {
|
| 139 |
+
color: var(--ink);
|
| 140 |
+
text-decoration: none;
|
| 141 |
+
}
|
| 142 |
+
/* Donate sits in the sticky header so it is reachable from anywhere on the
|
| 143 |
+
page, not only by someone who scrolled to the end. Styled as an outlined
|
| 144 |
+
pill rather than a solid button so it never competes with the download. */
|
| 145 |
+
nav.site a.donate {
|
| 146 |
+
color: var(--accent);
|
| 147 |
+
border: 1px solid rgb(56 189 248 / 0.45);
|
| 148 |
+
background: rgb(56 189 248 / 0.1);
|
| 149 |
+
border-radius: 999px;
|
| 150 |
+
padding: 3px 13px;
|
| 151 |
+
font-weight: 600;
|
| 152 |
+
}
|
| 153 |
+
nav.site a.donate:hover {
|
| 154 |
+
color: var(--base);
|
| 155 |
+
background: var(--accent);
|
| 156 |
+
text-decoration: none;
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
/* ---------------------------------------------------------------- hero */
|
| 160 |
+
.hero {
|
| 161 |
+
padding: 72px 0 56px;
|
| 162 |
+
border-bottom: 1px solid rgb(28 51 84 / 0.5);
|
| 163 |
+
}
|
| 164 |
+
.hero-grid {
|
| 165 |
+
display: grid;
|
| 166 |
+
grid-template-columns: 1fr auto;
|
| 167 |
+
gap: 40px;
|
| 168 |
+
align-items: center;
|
| 169 |
+
}
|
| 170 |
+
.hero h1 {
|
| 171 |
+
font-size: clamp(2rem, 4.6vw, 3.1rem);
|
| 172 |
+
line-height: 1.12;
|
| 173 |
+
margin: 0 0 18px;
|
| 174 |
+
letter-spacing: -0.02em;
|
| 175 |
+
}
|
| 176 |
+
.hero p.lead {
|
| 177 |
+
font-size: 1.15rem;
|
| 178 |
+
color: var(--muted);
|
| 179 |
+
margin: 0 0 12px;
|
| 180 |
+
max-width: 62ch;
|
| 181 |
+
}
|
| 182 |
+
.hero img.mascot {
|
| 183 |
+
width: 210px;
|
| 184 |
+
}
|
| 185 |
+
|
| 186 |
+
.eyebrow {
|
| 187 |
+
display: inline-block;
|
| 188 |
+
font-size: 0.74rem;
|
| 189 |
+
letter-spacing: 0.12em;
|
| 190 |
+
text-transform: uppercase;
|
| 191 |
+
color: var(--accent);
|
| 192 |
+
background: rgb(56 189 248 / 0.12);
|
| 193 |
+
border: 1px solid rgb(56 189 248 / 0.3);
|
| 194 |
+
padding: 4px 10px;
|
| 195 |
+
border-radius: 999px;
|
| 196 |
+
margin-bottom: 18px;
|
| 197 |
+
}
|
| 198 |
+
|
| 199 |
+
.cta-row {
|
| 200 |
+
display: flex;
|
| 201 |
+
gap: 12px;
|
| 202 |
+
flex-wrap: wrap;
|
| 203 |
+
margin-top: 26px;
|
| 204 |
+
align-items: center;
|
| 205 |
+
}
|
| 206 |
+
.btn {
|
| 207 |
+
display: inline-block;
|
| 208 |
+
padding: 11px 20px;
|
| 209 |
+
border-radius: 10px;
|
| 210 |
+
font-weight: 600;
|
| 211 |
+
transition: background-color 0.15s;
|
| 212 |
+
}
|
| 213 |
+
.btn:hover {
|
| 214 |
+
text-decoration: none;
|
| 215 |
+
}
|
| 216 |
+
.btn-accent {
|
| 217 |
+
background: var(--accent);
|
| 218 |
+
color: var(--base);
|
| 219 |
+
}
|
| 220 |
+
.btn-accent:hover {
|
| 221 |
+
background: var(--accent-strong);
|
| 222 |
+
}
|
| 223 |
+
.btn-ghost {
|
| 224 |
+
background: var(--raised);
|
| 225 |
+
color: var(--ink);
|
| 226 |
+
}
|
| 227 |
+
.btn-ghost:hover {
|
| 228 |
+
background: rgb(28 51 84 / 0.7);
|
| 229 |
+
}
|
| 230 |
+
.cta-note {
|
| 231 |
+
font-size: 0.85rem;
|
| 232 |
+
color: var(--muted);
|
| 233 |
+
}
|
| 234 |
+
|
| 235 |
+
/* The star ask. Deliberately a line of text under the buttons rather than a
|
| 236 |
+
third button: starring is a favour, not a thing someone came here to do,
|
| 237 |
+
and a button competing with Download would cost more than it gained. */
|
| 238 |
+
.star-note {
|
| 239 |
+
margin: 16px 0 0;
|
| 240 |
+
font-size: 0.88rem;
|
| 241 |
+
color: var(--muted);
|
| 242 |
+
max-width: 56ch;
|
| 243 |
+
}
|
| 244 |
+
.star-note a {
|
| 245 |
+
font-weight: 600;
|
| 246 |
+
}
|
| 247 |
+
|
| 248 |
+
/* ---------------------------------------------------------------- sections */
|
| 249 |
+
section {
|
| 250 |
+
padding: 56px 0;
|
| 251 |
+
border-bottom: 1px solid rgb(28 51 84 / 0.35);
|
| 252 |
+
}
|
| 253 |
+
section:last-of-type {
|
| 254 |
+
border-bottom: 0;
|
| 255 |
+
}
|
| 256 |
+
h2 {
|
| 257 |
+
font-size: clamp(1.45rem, 2.6vw, 1.9rem);
|
| 258 |
+
margin: 0 0 8px;
|
| 259 |
+
letter-spacing: -0.01em;
|
| 260 |
+
}
|
| 261 |
+
h3 {
|
| 262 |
+
font-size: 1.05rem;
|
| 263 |
+
margin: 0 0 6px;
|
| 264 |
+
}
|
| 265 |
+
.section-lead {
|
| 266 |
+
color: var(--muted);
|
| 267 |
+
margin: 0 0 28px;
|
| 268 |
+
max-width: 68ch;
|
| 269 |
+
}
|
| 270 |
+
|
| 271 |
+
.grid {
|
| 272 |
+
display: grid;
|
| 273 |
+
gap: 16px;
|
| 274 |
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
| 275 |
+
}
|
| 276 |
+
.card {
|
| 277 |
+
background: var(--surface);
|
| 278 |
+
border: 1px solid rgb(28 51 84 / 0.6);
|
| 279 |
+
border-radius: var(--radius);
|
| 280 |
+
padding: 20px;
|
| 281 |
+
}
|
| 282 |
+
.card p {
|
| 283 |
+
color: var(--muted);
|
| 284 |
+
margin: 0;
|
| 285 |
+
font-size: 0.94rem;
|
| 286 |
+
}
|
| 287 |
+
|
| 288 |
+
/* Pipeline: a real list, styled as a flow. Screen readers get the steps in
|
| 289 |
+
order; everyone else gets the diagram. */
|
| 290 |
+
ol.pipeline {
|
| 291 |
+
list-style: none;
|
| 292 |
+
counter-reset: step;
|
| 293 |
+
padding: 0;
|
| 294 |
+
margin: 0;
|
| 295 |
+
display: grid;
|
| 296 |
+
gap: 10px;
|
| 297 |
+
}
|
| 298 |
+
ol.pipeline li {
|
| 299 |
+
counter-increment: step;
|
| 300 |
+
background: var(--surface);
|
| 301 |
+
border: 1px solid rgb(28 51 84 / 0.6);
|
| 302 |
+
border-radius: var(--radius);
|
| 303 |
+
padding: 14px 18px 14px 56px;
|
| 304 |
+
position: relative;
|
| 305 |
+
}
|
| 306 |
+
ol.pipeline li::before {
|
| 307 |
+
content: counter(step);
|
| 308 |
+
position: absolute;
|
| 309 |
+
left: 16px;
|
| 310 |
+
top: 14px;
|
| 311 |
+
width: 26px;
|
| 312 |
+
height: 26px;
|
| 313 |
+
border-radius: 50%;
|
| 314 |
+
background: rgb(56 189 248 / 0.15);
|
| 315 |
+
color: var(--accent);
|
| 316 |
+
font-size: 0.8rem;
|
| 317 |
+
font-weight: 700;
|
| 318 |
+
display: grid;
|
| 319 |
+
place-items: center;
|
| 320 |
+
}
|
| 321 |
+
ol.pipeline strong {
|
| 322 |
+
display: block;
|
| 323 |
+
}
|
| 324 |
+
ol.pipeline span {
|
| 325 |
+
color: var(--muted);
|
| 326 |
+
font-size: 0.92rem;
|
| 327 |
+
}
|
| 328 |
+
|
| 329 |
+
table {
|
| 330 |
+
width: 100%;
|
| 331 |
+
border-collapse: collapse;
|
| 332 |
+
font-size: 0.94rem;
|
| 333 |
+
}
|
| 334 |
+
.table-scroll {
|
| 335 |
+
overflow-x: auto;
|
| 336 |
+
}
|
| 337 |
+
th,
|
| 338 |
+
td {
|
| 339 |
+
text-align: left;
|
| 340 |
+
padding: 10px 14px;
|
| 341 |
+
border-bottom: 1px solid rgb(28 51 84 / 0.5);
|
| 342 |
+
vertical-align: top;
|
| 343 |
+
}
|
| 344 |
+
th {
|
| 345 |
+
color: var(--muted);
|
| 346 |
+
font-weight: 600;
|
| 347 |
+
font-size: 0.8rem;
|
| 348 |
+
text-transform: uppercase;
|
| 349 |
+
letter-spacing: 0.06em;
|
| 350 |
+
}
|
| 351 |
+
td code {
|
| 352 |
+
color: var(--accent);
|
| 353 |
+
}
|
| 354 |
+
|
| 355 |
+
code {
|
| 356 |
+
font-family: ui-monospace, 'Cascadia Code', Consolas, monospace;
|
| 357 |
+
font-size: 0.88em;
|
| 358 |
+
background: rgb(28 51 84 / 0.5);
|
| 359 |
+
padding: 2px 6px;
|
| 360 |
+
border-radius: 5px;
|
| 361 |
+
}
|
| 362 |
+
pre {
|
| 363 |
+
background: var(--surface);
|
| 364 |
+
border: 1px solid rgb(28 51 84 / 0.6);
|
| 365 |
+
border-radius: var(--radius);
|
| 366 |
+
padding: 16px;
|
| 367 |
+
overflow-x: auto;
|
| 368 |
+
}
|
| 369 |
+
pre code {
|
| 370 |
+
background: none;
|
| 371 |
+
padding: 0;
|
| 372 |
+
color: var(--ink);
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
.note {
|
| 376 |
+
background: rgb(56 189 248 / 0.08);
|
| 377 |
+
border: 1px solid rgb(56 189 248 / 0.25);
|
| 378 |
+
border-radius: var(--radius);
|
| 379 |
+
padding: 16px 18px;
|
| 380 |
+
color: var(--muted);
|
| 381 |
+
font-size: 0.94rem;
|
| 382 |
+
}
|
| 383 |
+
.note strong {
|
| 384 |
+
color: var(--ink);
|
| 385 |
+
}
|
| 386 |
+
|
| 387 |
+
ul.ticks {
|
| 388 |
+
list-style: none;
|
| 389 |
+
padding: 0;
|
| 390 |
+
margin: 0;
|
| 391 |
+
display: grid;
|
| 392 |
+
gap: 9px;
|
| 393 |
+
}
|
| 394 |
+
ul.ticks li {
|
| 395 |
+
padding-left: 26px;
|
| 396 |
+
position: relative;
|
| 397 |
+
color: var(--muted);
|
| 398 |
+
}
|
| 399 |
+
ul.ticks li::before {
|
| 400 |
+
content: '✓';
|
| 401 |
+
position: absolute;
|
| 402 |
+
left: 0;
|
| 403 |
+
color: var(--accent);
|
| 404 |
+
font-weight: 700;
|
| 405 |
+
}
|
| 406 |
+
ul.ticks strong {
|
| 407 |
+
color: var(--ink);
|
| 408 |
+
}
|
| 409 |
+
/* Honest-fit markers. A limitation must never wear a green checkmark — on the
|
| 410 |
+
"what it's built for" list that would read as a feature and cause exactly
|
| 411 |
+
the surprise the section exists to prevent. */
|
| 412 |
+
ul.ticks li.partial::before {
|
| 413 |
+
content: '~';
|
| 414 |
+
color: var(--warn);
|
| 415 |
+
}
|
| 416 |
+
ul.ticks li.weak::before {
|
| 417 |
+
content: '!';
|
| 418 |
+
color: var(--muted);
|
| 419 |
+
}
|
| 420 |
+
|
| 421 |
+
/* ---------------------------------------------------------------- support
|
| 422 |
+
Deliberately the same card as the one pinned to the bottom of the app's
|
| 423 |
+
Dashboard: accent gradient, accent border, headline and a large button on
|
| 424 |
+
the right. Someone who has used the app should recognise it. */
|
| 425 |
+
.support {
|
| 426 |
+
background: linear-gradient(
|
| 427 |
+
to right,
|
| 428 |
+
rgb(56 189 248 / 0.15),
|
| 429 |
+
rgb(56 189 248 / 0.25)
|
| 430 |
+
);
|
| 431 |
+
border: 1px solid rgb(56 189 248 / 0.4);
|
| 432 |
+
border-radius: var(--radius);
|
| 433 |
+
padding: 22px 26px;
|
| 434 |
+
display: flex;
|
| 435 |
+
gap: 24px;
|
| 436 |
+
align-items: center;
|
| 437 |
+
justify-content: space-between;
|
| 438 |
+
flex-wrap: wrap;
|
| 439 |
+
}
|
| 440 |
+
.support .body {
|
| 441 |
+
flex: 1 1 340px;
|
| 442 |
+
}
|
| 443 |
+
.support .title {
|
| 444 |
+
font-weight: 700;
|
| 445 |
+
font-size: 1.25rem;
|
| 446 |
+
color: var(--ink);
|
| 447 |
+
margin: 0;
|
| 448 |
+
}
|
| 449 |
+
.support p {
|
| 450 |
+
margin: 6px 0 0;
|
| 451 |
+
color: rgb(241 245 249 / 0.8);
|
| 452 |
+
font-size: 1rem;
|
| 453 |
+
}
|
| 454 |
+
.support .btn {
|
| 455 |
+
flex-shrink: 0;
|
| 456 |
+
font-size: 1.05rem;
|
| 457 |
+
padding: 13px 32px;
|
| 458 |
+
font-weight: 600;
|
| 459 |
+
}
|
| 460 |
+
|
| 461 |
+
/* ---------------------------------------------------------------- footer */
|
| 462 |
+
footer.site {
|
| 463 |
+
border-top: 1px solid rgb(28 51 84 / 0.6);
|
| 464 |
+
padding: 32px 0 44px;
|
| 465 |
+
color: var(--muted);
|
| 466 |
+
font-size: 0.9rem;
|
| 467 |
+
}
|
| 468 |
+
footer.site .cols {
|
| 469 |
+
display: flex;
|
| 470 |
+
gap: 28px;
|
| 471 |
+
flex-wrap: wrap;
|
| 472 |
+
align-items: center;
|
| 473 |
+
}
|
| 474 |
+
footer.site nav {
|
| 475 |
+
display: flex;
|
| 476 |
+
gap: 18px;
|
| 477 |
+
flex-wrap: wrap;
|
| 478 |
+
margin-left: auto;
|
| 479 |
+
}
|
| 480 |
+
|
| 481 |
+
@media (max-width: 720px) {
|
| 482 |
+
.hero-grid {
|
| 483 |
+
grid-template-columns: 1fr;
|
| 484 |
+
}
|
| 485 |
+
.hero img.mascot {
|
| 486 |
+
width: 130px;
|
| 487 |
+
}
|
| 488 |
+
nav.site {
|
| 489 |
+
width: 100%;
|
| 490 |
+
margin-left: 0;
|
| 491 |
+
gap: 14px;
|
| 492 |
+
}
|
| 493 |
+
}
|
twitch.html
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>Twitch clip generator: turn VODs into vertical clips on your own PC | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Turn Twitch VODs into vertical clips locally. Clips Studio reads chat replay to find the moments your viewers actually reacted to, then crops, captions and titles them. Free and open source."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/twitch.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="Twitch clip generator that runs on your own PC" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="Clips Studio reads Twitch chat replay to find the moments viewers reacted to, then crops and captions them locally."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
</head>
|
| 22 |
+
<body>
|
| 23 |
+
<header class="site">
|
| 24 |
+
<div class="wrap">
|
| 25 |
+
<a class="brand" href="index.html">
|
| 26 |
+
<img src="assets/mascot.png" alt="" />
|
| 27 |
+
<span>
|
| 28 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 29 |
+
<span class="tagline">local-first AI clipping</span>
|
| 30 |
+
</span>
|
| 31 |
+
</a>
|
| 32 |
+
<nav class="site" aria-label="Main">
|
| 33 |
+
<a href="index.html">Home</a>
|
| 34 |
+
<a href="twitch.html" aria-current="page">Twitch</a>
|
| 35 |
+
<a href="kick.html">Kick</a>
|
| 36 |
+
<a href="youtube.html">YouTube</a>
|
| 37 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 38 |
+
<a href="roadmap.html">Roadmap</a>
|
| 39 |
+
<a href="changelog.html">Changelog</a>
|
| 40 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 41 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 42 |
+
</nav>
|
| 43 |
+
</div>
|
| 44 |
+
</header>
|
| 45 |
+
|
| 46 |
+
<main>
|
| 47 |
+
<div class="hero">
|
| 48 |
+
<div class="wrap">
|
| 49 |
+
<span class="eyebrow">Twitch VODs</span>
|
| 50 |
+
<h1>Clip Twitch VODs without uploading them anywhere</h1>
|
| 51 |
+
<p class="lead">
|
| 52 |
+
Paste a <code>twitch.tv/videos/…</code> link. Clippy downloads the VOD, works
|
| 53 |
+
through it on your own machine, and hands back vertical clips with captions.
|
| 54 |
+
</p>
|
| 55 |
+
<div class="cta-row">
|
| 56 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 57 |
+
>
|
| 58 |
+
<span class="cta-note">VODs, not live streams</span>
|
| 59 |
+
</div>
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
|
| 63 |
+
<section id="support">
|
| 64 |
+
<div class="wrap">
|
| 65 |
+
<div class="support">
|
| 66 |
+
<div class="body">
|
| 67 |
+
<p class="title">Clips Studio is free & open source ❤️</p>
|
| 68 |
+
<p>
|
| 69 |
+
It runs entirely on your PC with no fees. Please consider donating to help
|
| 70 |
+
cover development costs and keep it free for everyone.
|
| 71 |
+
</p>
|
| 72 |
+
</div>
|
| 73 |
+
<a class="btn btn-accent" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate to Clips Studio</a>
|
| 74 |
+
</div>
|
| 75 |
+
</div>
|
| 76 |
+
</section>
|
| 77 |
+
|
| 78 |
+
<section>
|
| 79 |
+
<div class="wrap">
|
| 80 |
+
<h2>Chat tells you where the moments are</h2>
|
| 81 |
+
<p class="section-lead">
|
| 82 |
+
Twitch is the one platform that keeps its chat after the stream ends, and that is
|
| 83 |
+
the most honest signal there is: hundreds of people reacting in real time to
|
| 84 |
+
something that just happened.
|
| 85 |
+
</p>
|
| 86 |
+
<p class="section-lead">
|
| 87 |
+
Clips Studio reads chat replay and measures <strong>unique chatters per
|
| 88 |
+
window</strong> rather than raw message count. That distinction matters, because a
|
| 89 |
+
gifted-sub train or one person spamming copypasta produces a wall of messages that
|
| 90 |
+
says nothing about the content. Counting distinct people instead means a genuine
|
| 91 |
+
room-wide reaction registers and a single excited viewer does not.
|
| 92 |
+
</p>
|
| 93 |
+
<div class="note">
|
| 94 |
+
Chat is a <strong>bonus, capped deliberately low</strong>. It nudges a moment up
|
| 95 |
+
the list; it cannot carry a clip on its own. What was said and what the audio and
|
| 96 |
+
video were doing still decide the score, because chat also erupts at things that
|
| 97 |
+
do not survive out of context.
|
| 98 |
+
</div>
|
| 99 |
+
</div>
|
| 100 |
+
</section>
|
| 101 |
+
|
| 102 |
+
<section>
|
| 103 |
+
<div class="wrap">
|
| 104 |
+
<h2>Built for how streams actually look</h2>
|
| 105 |
+
<div class="grid">
|
| 106 |
+
<div class="card">
|
| 107 |
+
<h3>Long and unstructured</h3>
|
| 108 |
+
<p>
|
| 109 |
+
A six-hour stream is chunked and analysed end to end, so the good bit at hour
|
| 110 |
+
five gets the same attention as the intro.
|
| 111 |
+
</p>
|
| 112 |
+
</div>
|
| 113 |
+
<div class="card">
|
| 114 |
+
<h3>Sparse talking</h3>
|
| 115 |
+
<p>
|
| 116 |
+
IRL and gym streams go quiet for minutes at a time. Analysis is sized by how
|
| 117 |
+
much was actually said, not by the clock.
|
| 118 |
+
</p>
|
| 119 |
+
</div>
|
| 120 |
+
<div class="card">
|
| 121 |
+
<h3>Guests wander in</h3>
|
| 122 |
+
<p>
|
| 123 |
+
The crop stays locked on whoever is speaking rather than jumping to every
|
| 124 |
+
person who walks past the camera.
|
| 125 |
+
</p>
|
| 126 |
+
</div>
|
| 127 |
+
</div>
|
| 128 |
+
</div>
|
| 129 |
+
</section>
|
| 130 |
+
|
| 131 |
+
<section>
|
| 132 |
+
<div class="wrap">
|
| 133 |
+
<h2>What it does not do</h2>
|
| 134 |
+
<ul class="ticks">
|
| 135 |
+
<li>
|
| 136 |
+
<strong>Live streams are not supported</strong>, by design. Clips Studio works on
|
| 137 |
+
finished VODs, where the whole thing can be studied before deciding what matters.
|
| 138 |
+
</li>
|
| 139 |
+
<li>
|
| 140 |
+
<strong>It does not post for you.</strong> Clips land in a folder, organised by
|
| 141 |
+
creator and video, ready to upload wherever you like.
|
| 142 |
+
</li>
|
| 143 |
+
<li>
|
| 144 |
+
<strong>It does not need your Twitch account.</strong> There is no login and no
|
| 145 |
+
API key.
|
| 146 |
+
</li>
|
| 147 |
+
</ul>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
|
| 151 |
+
<section>
|
| 152 |
+
<div class="wrap">
|
| 153 |
+
<h2>Try it on your own VOD</h2>
|
| 154 |
+
<div class="cta-row">
|
| 155 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 156 |
+
>
|
| 157 |
+
<a class="btn btn-ghost" href="kick.html">Clipping Kick instead?</a>
|
| 158 |
+
</div>
|
| 159 |
+
</div>
|
| 160 |
+
</section>
|
| 161 |
+
</main>
|
| 162 |
+
|
| 163 |
+
<footer class="site">
|
| 164 |
+
<div class="wrap cols">
|
| 165 |
+
<span>Free and open source.</span>
|
| 166 |
+
<nav aria-label="Footer">
|
| 167 |
+
<a href="index.html">Home</a>
|
| 168 |
+
<a href="roadmap.html">Roadmap</a>
|
| 169 |
+
<a href="changelog.html">Changelog</a>
|
| 170 |
+
<a href="privacy.html">Privacy</a>
|
| 171 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 172 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 173 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 174 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 175 |
+
</nav>
|
| 176 |
+
</div>
|
| 177 |
+
</footer>
|
| 178 |
+
<script src="analytics.js"></script>
|
| 179 |
+
<script src="donate.js"></script>
|
| 180 |
+
</body>
|
| 181 |
+
</html>
|
youtube.html
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8" />
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
| 6 |
+
<title>YouTube Shorts generator: cut long videos into Shorts on your own PC | Clips Studio</title>
|
| 7 |
+
<meta
|
| 8 |
+
name="description"
|
| 9 |
+
content="Turn long YouTube videos into Shorts locally. Clips Studio uses YouTube's most-replayed data as a signal, crops to 9:16 with the speaker in frame, and writes captions and titles. Free and open source."
|
| 10 |
+
/>
|
| 11 |
+
<link rel="canonical" href="https://colingpt9.github.io/clips-studio/youtube.html" />
|
| 12 |
+
<link rel="icon" href="assets/mascot.png" />
|
| 13 |
+
<link rel="stylesheet" href="styles.css" />
|
| 14 |
+
<meta property="og:type" content="article" />
|
| 15 |
+
<meta property="og:title" content="YouTube Shorts generator that runs on your own PC" />
|
| 16 |
+
<meta
|
| 17 |
+
property="og:description"
|
| 18 |
+
content="Cut long YouTube videos into Shorts locally, using most-replayed data plus audio and visual signals."
|
| 19 |
+
/>
|
| 20 |
+
<meta property="og:image" content="https://colingpt9.github.io/clips-studio/assets/mascot.png" />
|
| 21 |
+
</head>
|
| 22 |
+
<body>
|
| 23 |
+
<header class="site">
|
| 24 |
+
<div class="wrap">
|
| 25 |
+
<a class="brand" href="index.html">
|
| 26 |
+
<img src="assets/mascot.png" alt="" />
|
| 27 |
+
<span>
|
| 28 |
+
<span class="name">Clips <span>Studio</span></span>
|
| 29 |
+
<span class="tagline">local-first AI clipping</span>
|
| 30 |
+
</span>
|
| 31 |
+
</a>
|
| 32 |
+
<nav class="site" aria-label="Main">
|
| 33 |
+
<a href="index.html">Home</a>
|
| 34 |
+
<a href="twitch.html">Twitch</a>
|
| 35 |
+
<a href="kick.html">Kick</a>
|
| 36 |
+
<a href="youtube.html" aria-current="page">YouTube</a>
|
| 37 |
+
<a href="local-vs-cloud.html">Local vs cloud</a>
|
| 38 |
+
<a href="roadmap.html">Roadmap</a>
|
| 39 |
+
<a href="changelog.html">Changelog</a>
|
| 40 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">GitHub</a>
|
| 41 |
+
<a class="donate" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 42 |
+
</nav>
|
| 43 |
+
</div>
|
| 44 |
+
</header>
|
| 45 |
+
|
| 46 |
+
<main>
|
| 47 |
+
<div class="hero">
|
| 48 |
+
<div class="wrap">
|
| 49 |
+
<span class="eyebrow">YouTube → Shorts</span>
|
| 50 |
+
<h1>Turn long YouTube videos into Shorts</h1>
|
| 51 |
+
<p class="lead">
|
| 52 |
+
Paste any YouTube link. Clippy cuts it into vertical clips with word-synced
|
| 53 |
+
captions and written titles, all on your own computer.
|
| 54 |
+
</p>
|
| 55 |
+
<div class="cta-row">
|
| 56 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 57 |
+
>
|
| 58 |
+
<span class="cta-note">Your own videos, or any you have the right to use</span>
|
| 59 |
+
</div>
|
| 60 |
+
</div>
|
| 61 |
+
</div>
|
| 62 |
+
|
| 63 |
+
<section id="support">
|
| 64 |
+
<div class="wrap">
|
| 65 |
+
<div class="support">
|
| 66 |
+
<div class="body">
|
| 67 |
+
<p class="title">Clips Studio is free & open source ❤️</p>
|
| 68 |
+
<p>
|
| 69 |
+
It runs entirely on your PC with no fees. Please consider donating to help
|
| 70 |
+
cover development costs and keep it free for everyone.
|
| 71 |
+
</p>
|
| 72 |
+
</div>
|
| 73 |
+
<a class="btn btn-accent" href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate to Clips Studio</a>
|
| 74 |
+
</div>
|
| 75 |
+
</div>
|
| 76 |
+
</section>
|
| 77 |
+
|
| 78 |
+
<section>
|
| 79 |
+
<div class="wrap">
|
| 80 |
+
<h2>Most-replayed is a real signal, used carefully</h2>
|
| 81 |
+
<p class="section-lead">
|
| 82 |
+
YouTube publishes a most-replayed graph for many videos, an aggregate of where
|
| 83 |
+
thousands of people scrubbed back. Where it exists, Clips Studio reads it and lets
|
| 84 |
+
the very top of that curve nudge a moment up the ranking.
|
| 85 |
+
</p>
|
| 86 |
+
<div class="note">
|
| 87 |
+
Only the sharpest peaks earn anything, and the bonus is <strong>capped below</strong>
|
| 88 |
+
what the video's own content can score. Replay spikes also mark confusing bits
|
| 89 |
+
people rewound to understand, and intros people skip back to, which is exactly why
|
| 90 |
+
it informs the decision rather than making it.
|
| 91 |
+
</div>
|
| 92 |
+
</div>
|
| 93 |
+
</section>
|
| 94 |
+
|
| 95 |
+
<section>
|
| 96 |
+
<div class="wrap">
|
| 97 |
+
<h2>Made for talking-head content</h2>
|
| 98 |
+
<div class="grid">
|
| 99 |
+
<div class="card">
|
| 100 |
+
<h3>Podcasts and interviews</h3>
|
| 101 |
+
<p>
|
| 102 |
+
Podcast mode handles multi-camera footage: each shot gets its own steady crop
|
| 103 |
+
centred on whoever is talking, so cuts land on a face with no panning.
|
| 104 |
+
</p>
|
| 105 |
+
</div>
|
| 106 |
+
<div class="card">
|
| 107 |
+
<h3>Tutorials and commentary</h3>
|
| 108 |
+
<p>
|
| 109 |
+
Scoring leans on what is said, and clips snap to sentence boundaries so a
|
| 110 |
+
Short never opens mid-word.
|
| 111 |
+
</p>
|
| 112 |
+
</div>
|
| 113 |
+
<div class="card">
|
| 114 |
+
<h3>Your own back catalogue</h3>
|
| 115 |
+
<p>
|
| 116 |
+
Point it at videos you already published and mine them for Shorts. Or import a
|
| 117 |
+
local file to cut before you publish anything at all.
|
| 118 |
+
</p>
|
| 119 |
+
</div>
|
| 120 |
+
</div>
|
| 121 |
+
</div>
|
| 122 |
+
</section>
|
| 123 |
+
|
| 124 |
+
<section>
|
| 125 |
+
<div class="wrap">
|
| 126 |
+
<h2>One thing worth knowing about codecs</h2>
|
| 127 |
+
<p class="section-lead">
|
| 128 |
+
YouTube serves much of its catalogue in AV1, which almost no consumer GPU decodes
|
| 129 |
+
in hardware. Left alone, that made processing take roughly twice as long, because every
|
| 130 |
+
analysis pass and every render paying for software decoding.
|
| 131 |
+
</p>
|
| 132 |
+
<p class="section-lead">
|
| 133 |
+
Clips Studio asks for H.264 instead, and converts once up front if it ends up with
|
| 134 |
+
something slow. You do not have to know any of this; it is here because "why is
|
| 135 |
+
YouTube slower than Twitch" is a fair question with a real answer.
|
| 136 |
+
</p>
|
| 137 |
+
</div>
|
| 138 |
+
</section>
|
| 139 |
+
|
| 140 |
+
<section>
|
| 141 |
+
<div class="wrap">
|
| 142 |
+
<h2>Get started</h2>
|
| 143 |
+
<div class="cta-row">
|
| 144 |
+
<a class="btn btn-accent" href="https://github.com/ColinGPT9/clips-studio/releases/download/v0.1.2/ClipsStudio-Web-Setup-0.1.2.exe" target="_blank" rel="noopener noreferrer">Download for Windows</a
|
| 145 |
+
>
|
| 146 |
+
<a class="btn btn-ghost" href="local-vs-cloud.html">How it compares to cloud tools</a>
|
| 147 |
+
</div>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
</main>
|
| 151 |
+
|
| 152 |
+
<footer class="site">
|
| 153 |
+
<div class="wrap cols">
|
| 154 |
+
<span>Free and open source.</span>
|
| 155 |
+
<nav aria-label="Footer">
|
| 156 |
+
<a href="index.html">Home</a>
|
| 157 |
+
<a href="roadmap.html">Roadmap</a>
|
| 158 |
+
<a href="changelog.html">Changelog</a>
|
| 159 |
+
<a href="privacy.html">Privacy</a>
|
| 160 |
+
<a href="https://github.com/ColinGPT9/clips-studio" target="_blank" rel="noopener noreferrer">★ Star it</a>
|
| 161 |
+
<a href="https://github.com/ColinGPT9/clips-studio/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">Contribute</a>
|
| 162 |
+
<a href="https://github.com/ColinGPT9/clips-studio/issues" target="_blank" rel="noopener noreferrer">Issues</a>
|
| 163 |
+
<a href="https://paypal.me/clipsstudio" target="_blank" rel="noopener noreferrer">Donate</a>
|
| 164 |
+
</nav>
|
| 165 |
+
</div>
|
| 166 |
+
</footer>
|
| 167 |
+
<script src="analytics.js"></script>
|
| 168 |
+
<script src="donate.js"></script>
|
| 169 |
+
</body>
|
| 170 |
+
</html>
|