Four layers turn one image into a moving card
Holo Card splits a supplied image into a foreground character, a complete background, a combined text-and-frame layer, and structural contours. The generated viewer moves those pieces at different rates as you drag or tilt, then adds foil lighting and contour glow. It can flip to a card back, respond to a keyboard, and run from a self-contained HTML file. The result is a portable web artifact rather than a video or flattened image.
The split is also where most of the work lives. Text may cover the subject, the subject may cover scenery, and generated checkerboards may be baked into RGB pixels instead of real transparency. The skill asks Codex to generate colored replacements, repair concealed regions, prepare masks, and compare the composite with glow turned off. Depth ranges from -3 to +3, but a slider cannot repair a misplaced letter or a second figure left in the background.
Assembly succeeds before visual quality is proven
The local Python helper saves the source, imports layers, tracks provenance, and assembles the viewer. It does not generate or segment images by itself. The README repeats a useful warning: successful assembly is not proof of visual fidelity. You still have to inspect the subject edge, reconstructed scenery, typography, frame, and contour registration. Bloom can make a bad edge look dramatic while leaving the underlying extraction wrong.
Hidden pixels are another hard boundary. If a title covers a face or a character covers the scene, the missing artwork cannot be recovered exactly from the input. Image generation can infer a plausible fill. It cannot retrieve pixels that were never present. Holo Card records that distinction and tells the operator to reject alignment drift, duplicate subjects, checkerboard residue, and changed geometry rather than quietly shipping them.
What happened when we ran it
Our sandbox tested commit 9d2b799 inside packages/holo-card-api, the pnpm workspace that contains the optional service. Installation finished in 7 seconds, adding 7 packages and 18 MB on disk. The container used Node 22, 3 CPUs, 8 GB of RAM, no secrets, and no elevated privileges. There was no build script or target, so the build step was skipped.
The available tests passed in 14 seconds. The repository had 53 files, about 3,522 lines of source, 9.5 MB checked out, and a tests directory. Our scan found no CI workflow and no Dockerfile. Those results show that the local API mechanics can be installed and checked cheaply. They do not measure image-generation latency, provider cost, segmentation accuracy, alpha quality, or browser rendering on a phone.
The API documentation makes the boundary explicit: its tests use an in-process mock provider. They cover authentication, uploads, job deduplication, recovery, extracted files, ZIP output, and scoped previews. No live provider call occurs. A green 14-second run therefore supports confidence in request handling, not the claim that a particular card will look correct.
The native skill and API do not produce the same layers
Codex users are directed to the native path, which uses built-in image generation and colored layers with repaired scenery. The optional API exists for agents without that capability. It requires Node 24 or newer, pnpm, a provider key, and an explicit authorization step before paid generation. It binds to 127.0.0.1:8787 by default, stores jobs in SQLite, and does not create a hosted endpoint.
The API still uses a legacy four-mask extraction route. Its own README says it does not implement the native colored-layer inpainting workflow. That means the two paths should not be treated as interchangeable fallbacks. API outputs need the same visual review, and a safety refusal on the native path is not permission to switch providers. Uncertain paid submissions are retained for status checks rather than automatically retried.
Version 1.0.3 fixes matte selection, not geometry drift
Release v1.0.3 added a Pillow-only helper for selecting explicit matte regions while protecting artwork outside them. The release notes still list geometry drift, fine text, contour registration, and an all-effects-off inspection control as unresolved. That candor helps because those are exactly the defects a bright holographic treatment can conceal during a quick preview.
GitHub showed 250 stars, 1 open issue, and a last push on September 8, 2026. The sole issue is feedback from an outside agent platform rather than a bug report, and it was updated through September 19. This is a young project with a detailed process, not a long maintenance record. Use artwork you have rights to process, keep the four layer checks in the approval path, and judge the exported card with glow disabled before accepting the flashy version.

