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.
Rebate: frame your photos with their camera settings (EXIF), on-device. Web app + iOS.
翻訳待ち
Loading the full README.
Read the full README ↗Frame your photos with their camera settings: camera, lens, focal length, aperture, shutter, ISO and date, read from EXIF and set into the border. Runs entirely on-device, as a website (installable PWA) and as a native iOS app built from the same JavaScript.
| Format | How it's decoded |
|---|---|
| JPEG, PNG, WebP | Browser native |
| HEIF / HEIC / HIF | Native in Safari & the iOS app; heic-to (libheif wasm) elsewhere |
| TIFF | Native in Safari & the iOS app; UTIF.js elsewhere |
| DNG, ARW | The camera's embedded full-size JPEG preview. If the preview is small, the RAW is developed: CoreImage on iOS, libraw-wasm on the web |
EXIF comes from exifr, with a WebP EXIF chunk reader and a raw Exif\0\0 scan as fallbacks.
In the order they appear in the picker:
Options:
Orientation: match the photo, or force a vertical or horizontal frame. With the original ratio this turns a horizontal photo into a vertical post (and back) by extending the background.
Aspect ratio: Original, 1:1, 4:5, 3:4, 2:3, 5:7, 9:16, A4, or any custom W:H. Presets flip with the orientation (4:5 ↔ 5:4).
Never cropped: ratios only add space around the frame. The photo always keeps its full resolution and shape.
Border size, corner radius, background and typeface are adjustable. Every text line can be turned off or edited per photo.
35mm-equivalent focal length: a Details option. It uses the camera's recorded value, or works it out from the sensor size when the camera didn't record one.
Saved JPEGs can keep the camera metadata (never GPS).
Crop factors: a bundled database of about 1,280 cameras and 290 product-line rules (data/cameras/*.json, compiled by npm run cameras). It covers Canon, Nikon, Sony, Fujifilm, Panasonic/LUMIX, OM System/Olympus, Leica, Ricoh/Pentax, Sigma, Hasselblad and Phase One. Phones and drones rely on the 35mm value they record.
Brand logos: 51 camera, phone and lens brands (data/logos/*.json, compiled by npm run logos), from Simple Icons (CC0) and public-domain Wikimedia Commons wordmarks. With logos on, the logo row sits above the camera/lens line, and the shot details go beneath.
Typefaces (44, all open source, bundled), picked by kind:
Every glyph is drawn in the chosen face. Where a face lacks a symbol (measured per face: α in about two thirds of them, ′ ″ · © × —), a stand-in in the same face is used, so "α7CR" in Caveat reads "a7CR" in Caveat rather than mixing in a glyph from another font.
Korean text in any Latin face falls back to a Korean face of the same style (sans → IBM Plex Sans KR, display → Black Han Sans, serif → Gowun Batang, mono → Nanum Gothic Coding, handwriting → Nanum Pen Script). Fonts load per character range, so a Korean caption only downloads the glyphs it uses. Only WOFF2 files are bundled.
Map frames are drawn on the device from bundled data, so a photo's location is never sent anywhere. The data is fetched only on first use (about 520 KB gzipped) and then cached for offline use.
This is the beginning of the README. Read the rest at the original. Read the full README ↗