openjutsu
One-click character swap for videos: an open-source, local Higgsfield Genjutsu alternative built on ComfyUI and MiniMax H3, with FLUX.3 Klein relighting.
Live view, photos and video from USB microscopes, endoscopes, webcams and thermal cameras, right in your browser. Nothing to install, nothing uploaded.
MediaJavaScript · HTMLGitHub @MatejBosanskyOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Webcam, USB microscope, endoscope and thermal camera viewer that runs entirely in the browser
Taken from the repository README
Loading the full README.
Read the full README ↗Live: https://usbcam.bosansky.com · FAQ
A webcam, USB microscope and USB endoscope viewer that runs entirely in your browser. Nothing is installed and nothing is uploaded.
Keyboard: Space photo, R record, F freeze. Mouse wheel zooms, drag pans, double-click resets.
npm run dev
Open http://localhost:8080. Requires Node 18+, nothing to install.
| Chrome / Edge | Firefox | Safari | |
|---|---|---|---|
| Live view, filters, photos | yes | yes | yes |
| Video recording | MP4 | WebM | MP4 |
| Cameras recognised automatically (USB ID) | yes | no: pick the camera type by hand | no: pick the camera type by hand |
| Native vs scaled resolutions in the test | yes | no | no |
| Thermal camera temperatures | yes | yes (camera type picked by hand) | not tested with a real camera |
| Hardware controls (exposure, focus, …) | if the camera offers them | no | no |
| Save straight to a folder | yes | no (download) | no (download) |
Tested on macOS 26 with an endoscope, a USB microscope, a thermal camera and a Logitech webcam: Chrome 155 and Firefox 156 with the real cameras; Safari 26 only with its built-in test cameras (Safari's automation replaces real cameras with mock ones), so real cameras in Safari still need a manual check. On macOS, Chrome exposed no hardware controls for any of the USB cameras.
macOS asks once per browser whether it may use the camera (System Settings → Privacy & Security → Camera); until that is allowed, the camera opens but sends no image, and the app says so.
Phones. On Android (Chrome 155, Galaxy S23, Android 16) the phone's own cameras work, including hardware controls (exposure, white balance, focus, ISO, zoom); big pictures are recorded as video at up to 1920×1080. USB cameras plugged into that phone through a hub showed up on its USB bus but Android did not offer them to apps (no external-camera support on that model); Chrome, Samsung Internet and Firefox all listed only the four built-in cameras, also with a camera plugged straight into the phone. Every Android browser takes cameras from Android, so whether USB cameras work depends on the phone (Google lists USB camera support for Pixel 6 and later). When a USB camera is plugged in, Android may ask which app should open it: browsers are never on that list, and the choice does not affect them. iPhone cannot use USB cameras at all; the layout was checked in Safari on an iPhone simulator. iPad with USB-C and iPadOS 17+ may work but is untested.
WiFi endoscopes that need a phone app do not work: they are not USB video devices.
If a USB camera does not show up at all, try a USB hub (ideally powered): some cheap cameras fail to connect straight to a laptop's port. A camera's profile says so when this is known.
Connect the repository and use:
npm run build (validates everything and writes the generated lists of cameras,
drivers and filters)publicThe live site, https://usbcam.bosansky.com, is a Cloudflare Pages project built this way from the
main branch, with usbcam.bosansky.com as its custom domain.
public/_headers sets a camera-only permissions policy.
Everything camera- or filter-specific lives outside the core, one file or folder each:
public/cameras/<id>.json | one camera model (a profile) |
public/drivers/<id>/ | one camera type that needs code, e.g. thermal cameras (guide) |
public/filters/<id>.js | one image filter (guide) |
The app finds them on its own; npm run check validates them and npm test runs their tests.
See public/cameras/. To add yours, see CONTRIBUTING.md; AI agents follow AGENTS.md.