Kokon
A free, local alternative to Nano Banana and Generative Fill. Brush an area, type the change, and your own GPU does the edit. One installer for Windows, Mac and Linux.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A browser-based tool for creating animated device mockup renders. Load a custom screenshot or video onto a 3D iPhone or MacBook model, set keyframes, and export as a PNG, PNG sequence, or WebM video — all client-side, no server required.
index.html loads Three.js, lil-gui, and JSZip from a local vendor/ directory (gitignored). Populate it once by downloading the files from jsDelivr:
| File | URL |
|---|---|
vendor/three.module.min.js | cdn.jsdelivr.net/npm/[email protected]/build/three.module.min.js |
vendor/three-addons/ | cdn.jsdelivr.net/npm/[email protected]/examples/jsm/ (only the addons you need) |
vendor/lil-gui.esm.js | cdn.jsdelivr.net/npm/[email protected]/dist/lil-gui.esm.js |
vendor/jszip.min.js | cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js |
Then serve the directory:
npx serve .
# or
python3 -m http.server
Tip: if you don't need the multi-file version, just open
standalone.html— it loads everything from CDN and requires no vendor setup.
Run the build script to produce a self-contained standalone.html with both 3D models embedded as base64:
node build.js
Open standalone.html directly in a browser — no server needed.
| Control | Action |
|---|---|
| Left-drag | Orbit camera |
| Right-drag / two-finger drag | Pan |
| Scroll | Zoom |
| Shift + scroll | Scroll screen content |
Use the GUI panel (top-right) to upload media, adjust transforms, configure animation, and trigger exports.
When a Middle keyframe is set, a single easing curve is applied to the full timeline parameter t before the segment split. The motion is therefore fastest at the midpoint (where the eased t crosses 0.5) and slowest at the start and end — producing a "spin through the middle, decelerate into the end" feel.
The easing selection in the GUI governs the whole arc. cubic (ease-in-out) is recommended for three-keyframe animations.
Known limitation: because each segment is still a linear interpolation, a directional kink can occur at the Middle keyframe if the two displacement vectors differ in direction (e.g. a rotation axis change). This is a geometric discontinuity, not a speed one, and is most visible when the two motion directions are very different.
To eliminate the directional kink entirely, interpolateKeyframes in js/utils.js should be upgraded to use Catmull-Rom spline interpolation:
t, evaluate the cubic Hermite curve defined by the four control points.(end − start) / 2 in normalised time, giving C1 continuity (smooth velocity vector through every keyframe).t before passing it to the spline evaluator.This is the standard approach used in professional animation tools (After Effects, Blender graph editor, etc.) and would make the Middle keyframe feel like a true waypoint rather than a corner.
Implementation scope: interpolateKeyframes in js/utils.js only — no changes to callers.