Tavotto
AI가 당신의 연구 그림을 그려줍니다
얼굴을 규격에 맞게 자르고 중앙에 배치해 배경을 제거한 뒤 전체 시트 인쇄, 53개 국가 지원, 사진은 브라우저를 떠나지 않음
Crop, centre the face to your country's rules, remove the background, and print a full sheet. 53 countries. Your photo never leaves your browser.
디자인TypeScript · CSSGitHub @vijayanandraj온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A simple, privacy-friendly passport photo maker that runs entirely in the browser.
If it's useful to you, a ⭐ on the repo helps other people find it.README 전문 보기 ↗A simple, privacy-friendly passport photo maker that runs entirely in the browser.
If it's useful to you, a ⭐ on the repo helps other people find it.
What it does:
Try it: https://passport-maker-ten.vercel.app/
Every country also has its own page, e.g. /passport-photo/india or /passport-photo/united-states, which opens the tool preset to that country and sets out its published requirements.
Everything is client-side. The matting model is served from this site rather than a third-party CDN, so no request describing your photo is made to anyone.
The matting model and its runtime are fetched the first time you remove a background — about 16MB, then cached by the browser. Nothing is downloaded for the crop-only path.
utils/presets.ts)The cut-out comes from MODNet (utils/modnet.ts), a portrait matting model that predicts
alpha directly. It runs locally through ONNX Runtime Web at 512px on the short edge.
This replaced a selfie-segmentation mask plus a lot of colour reasoning, which failed in two opposite ways that no amount of tuning could fix, because colour alone cannot tell them apart:
A model that understands people has no such trouble. utils/matting.ts is now only a
finishing pass over the predicted alpha — it resamples onto the output grid, sharpens the
edge along real image edges with a guided filter, and unmixes the old background colour out
of semi-transparent pixels so pale hair keeps no rim of the room it was shot in. None of
those steps can add or remove a region.
Notes:
This tool is browser-only:
If you want “offline / self-hosted models” later, see the notes in the “MediaPipe models” section below.
npm install
npm run dev
npm run build
build runs vite build and then scripts/prerender.mjs, which writes one static page per
country under dist/passport-photo/<slug>/ plus dist/sitemap.xml. Each page carries its
own title, description, canonical URL, JSON-LD and a visible requirements table, generated
from src/utils/presets.ts — a query parameter on a single client-rendered page cannot be
indexed as 53 separate pages, and the per-country specs are the most searched-for thing
here. Set SITE_URL to override the absolute URLs:
SITE_URL=https://your-domain.example npm run build
public/og.png is the 1200×630 card that WhatsApp, Slack, Twitter, Reddit and iMessage show
when someone shares a link; without it a shared link renders as a bare grey URL. To
regenerate it, open scripts/og-card.html in a browser, press Download og.png, and move
the file to public/og.png. The card is drawn in canvas rather than kept as a binary, so it
can be re-cut when the wording changes.
MIT — see LICENSE. Use it, fork it, ship it, charge for it; just keep the copyright notice.
That covers the code in this repository. The things it depends on carry their own terms, and two are worth knowing about before you build a product on this:
public/models/modnet.onnx) — the matting network. The MODNet source is
Apache-2.0, but the officially published pretrained weights are released under
CC BY-NC-SA 4.0, which is non-commercial. If you intend to use this commercially,
confirm the provenance of the weights you are shipping and retrain or substitute if
needed.The country specifications in src/utils/presets.ts are transcriptions of published
government requirements. They are provided as a convenience and are not legal advice —
rules change, and the authority's own guidance is always the authority.