Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

titleClapper
emoji🎬
sdkdocker
colorFromgray
colorTogray
pinnedtrue
app_port3000
disable_embeddingfalse
hf_oauthfalse
headermini
short_description🎬 Clapper

Clapper is in a very early stage. There are no tutorials, some UI features and buttons won't work, some workflows are broken, and there are no tests. Want this to change? Come join our open-source community to help build Clapper!

Demo|600

Funding

Clapper is not funded! (yet?) But you can buy me a coffee 🫶

Buy Me A Coffee

Introduction

🎬 Clapper is an open-source AI story visualization tool.

Prototyped a year ago, Clapper is not designed to replace traditional video editors or modern AI editors using 3D scenes as input.

Clapper's philosophy is for anyone to create videos using AI through an interactive, iterative and intuitive process, without the need for external tools, filmmaking or AI engineering skills.

In Clapper you don't edit a sequence of video and audio files directly, but iterate (with the help from your AI assistant) over your story using high-level abstractions such as characters, locations, weather, time period, style etc.

To this end I am also working on a Director's Mode, where you can just put the video in fullscreen, sit comfortably in your director's chair (or couch), shouting orders at your AI set assistant to produce your movie.

Public alpha access

A public instance of Clapper is currently hosted on Hugging Face, you can try it at Clapper.app

Open-source philosophy

The whole the project is open-source.

To participate, please join us on Discord.

The roadmap is public, too: Clapper roadmap.

Badges

  • Build and tests status: E2E & Unit Tests

  • Sponsor a feature: (temporary disabled due to an issue with the bounty provider)

Bounty Sponsors

Those generous sponsors are paying for code bounties:

Want to contribute?

For users or corporations

Sponsor specific features

!! ATTENTION: there is currently an issue with the platform we initially used for bounties. We are looking for an alternative solution. !!

For developers

Licence

Clapper is under a GPL v3 licence, see the LICENCE file for more information. This is a similar licensing to apps like ComfyUI or Blender.

Installation

Prerequisites

As a prerequisite you need to have git lfs installed (see the .gitattributes file at the root of project):

git lfs install

You will also need to install Bun

Clapper has been tested with Node 20.17.0.

To make sure you use this version, you can use NVM to activate it:

nvm install
nvm use

If you find that Clapper is working with a more recent (stable) version of Node, or have a better version management to suggest, please open a ticket.

Installation

Install the dependencies.

--include=optional is to make sure optional dependencies are installed (pre-build native modules compatible with your system)

bun i

You can run the following command to build the app, making sure all the types are consistent and properly set:

npm run build

Running the web app

Then run the actual app, the first time you go to localhost:3000 after typing this command, the app will compile, which can take a minute (like, literally: Compiled / in 52.6s (6372 modules))

bun run dev

Running the app with Electron

An Electron build is in progress.

There are still some things to debug and figure out, but if you are a developer you can try it out by starting Clapper through Electron like this:

cd packages/app
bun run electron:start

If that doesn't work for you (issue with node-gyp, setuptools, distutils etc) you might have to run:

python3 -m pip install --break-system-packages setuptools

You can also build Clapper for your operating system by typing:

cd packages/app
bun run electron:make

You might see a DeprecationWarning message written in red at the end but that's only a warning, just open ./out/make to check if the build worked.

Code conventions

I have setup Prettier and ESLint, they use some basic rules (you can propose new rules if you want to)

Testing

To run all the tests (unit and e2e) please run:

bun run test

This is not instantaneous: playwright may seems to do nothing for a while at first.

@jbilcke-hf is working to add more tests, and will also act as the "QA engineer".

Unit tests

Note: I've just added Vitest so we only have a few tests for now.

To run the test without watching, type:

cd packages/app
bun run test:unit:ci

To run the tests with watching, type:

cd packages/app
bun run test:unit:watch

End-to-end tests

Note: I've just added Playwright, but we don't really have tests yet.

Please note that due to the app needing to build during 30~60s (depending on the speed of your computer), running those tests may take some time to execute.

bun run test:e2e

More Playwright commands: bunx playwright test Runs the end-to-end tests.

bunx playwright test --ui Starts the interactive UI mode.

bunx playwright test --project=chromium Runs the tests only on Desktop Chrome.

bunx playwright test example Runs the tests in a specific file.

bunx playwright test --debug Runs the tests in debug mode.

bunx playwright codegen Auto generate tests with Codegen.

We suggest that you begin by typing:

`bunx playwright test`

Architecture

Arch|800

For convenience, you can access and inspect any of the services at runtime (in the browser's JS console) by typing useUI.getState(), useIO.getState() etc

About

Clapper.app, a video synthesizer and sequencer designed for the age of AI cinema

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages