iArt.ai
AI 모션 그래픽 소프트웨어, 누구나 사용할 수 있는 After Effects 대안, 텍스트 프롬프트로 몇 분 안에 애니메이션·설명 영상 제작
argus-lens 구조 캡션으로 탐색하는 사진 갤러리, 의상·배경·조명 등으로 필터링하고 캡션 구성 방식을 확인
A photo gallery navigated by argus-lens structured captions: filter by wardrobe, setting, lighting and more, and see how each caption was assembled.
미디어GitHub @smk762온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Static photo gallery navigated by argus-lens structured captions: faceted filtering, caption explain/compare views, EXIF and sidecars
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A photo gallery you navigate by structured captions. Every photo is captioned by argus-lens. Instead of one flat string, lens produces category-bucketed captions (identity, wardrobe, pose, setting, lighting, action), and Lightbox turns those buckets into filters. You can pick "red dress" under Wardrobe and "sunset" under Lighting, open a photo, and see how lens assembled its caption from the raw model output.
It's the standalone demo for argus-lens. The full pipeline UI is Argus Studio.
| How a caption was built | Same raw output, assembled three ways |
|---|---|
training (identity-suppressed) and zeroshot variants, with copy buttons and the active filters highlighted.1girl, solo), how fragments were classified, and which ones each variant kept or trimmed, plus lens's own compaction notes and headcount evidence..txt caption trainers read, and an XMP file (keywords + description) for Lightroom, digiKam and Immich.Face grouping and content rating are left out. They are the curator demo, argus-cull. This gallery only links there.
cortex lineage store ──▶ bake/ (Python) ──▶ web/public/data/ ──▶ web/ (Next.js static export)
recorded captions re-run lens assembly index.json no server, no API
+ image blobs on the raw output (CPU) images/ thumbs/ xmp/
The site is fully static. A bake step does all the work ahead of time:
compose_caption_result() on each caption's stored raw tags and prose. This needs no model or GPU, and it recovers the intermediate assembly state the tape doesn't store: the per-category buckets, compaction notes, headcount, and the tags/prose/hybrid comparison. The recorded caption stays what's displayed. If the pinned lens release would now assemble it differently, the photo is flagged (explain.drift).index.json.The web app loads index.json and does everything else client-side. All gallery state (search, filters, the open photo) lives in the URL, so any view can be shared.
web/public/data/ holds a committed synthetic fixture: 12 drawn placeholder scenes with hand-written WD14/Florence-style raw output, captioned by lens's real pipeline. It lets the app run and be tested without the tape, and it's labelled "Synthetic fixture" in the UI. The real data comes from make tape.
Needs uv. Node 22 is optional: the Makefile runs npm in the node:22 Docker image when npm isn't on your PATH.
make install # bake venv + web dependencies
make dev # http://localhost:3000, serving the committed fixture
Bake the real run from a cortex store, for example the local stores you recorded the tape from:
export CORTEX_PG_URL=postgresql://… # lineage store
export CORTEX_S3_ENDPOINT=… CORTEX_S3_BUCKET=argus-tape # blob store (plus credentials)
make tape # → web/public/data-tape/ (committed: the hosted demo)
NEXT_PUBLIC_DATA_URL=/data-tape make dev
lightbox-bake tape --dataset <name> restricts the bake to one curated dataset, and --limit N caps it.
Docker Compose runs the gallery and a lens server. Nothing else has to be installed on the host. With no path set, it captions the Pictures folder in your home directory (~/Pictures on Linux and macOS, %USERPROFILE%\Pictures on Windows). PHOTOS_DIR points somewhere else: another local directory, a NAS share already mounted on this machine, or a USB drive.
docker compose up --build
# PHOTOS_DIR=/mnt/nas/library docker compose up --build
# PHOTOS_DIR=/run/media/$USER/USB/DCIM docker compose up --build
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗