1 Photo
Drop a photo, or choose one
JPEG, PNG or WebP. Scaled to 2048 px here before it is sent.
starting the camera
Reading the folder
FLUX repaints the photo. The face may change.
Made on Akamai Cloud GPUs. Open weights. Nothing leaves the node.
Drop a photo, or choose one
JPEG, PNG or WebP. Scaled to 2048 px here before it is sent.
starting the camera
Reading the folder
FLUX repaints the photo. The face may change.
You get all three. Tap one to see it.
Sample players are generated on this node.
Add a photo and a name to start.
No cards yet.
Every model here is open weights. Four run on this node, one runs in your browser.
One card, from the photo you send to the two PNGs you get back.
Made on Akamai Cloud GPUs. Open weights. Nothing leaves the node.
Your photo, stats and cards stay on the node until you share or print one. No step calls an outside API. The photo loses its EXIF, GPS included, before a model sees it. The page's fonts, scripts and face detector come from the node too. A sweeper deletes old cards. A share copies the card to Object Storage, a print to Dropbox, never the photo.
One key, CARD_API_KEY, opens every route but /livez, the
short links under /s/ and this page's files. vLLM checks it itself,
the other services with shared code. The api sends it to each model too, so the
node's own network is not trusted. This tab keeps it in sessionStorage until you
sign out or close it.
The back lists each step with its model, license, GPU and milliseconds, as the services reported them. It says "Made on Akamai Cloud GPUs. Open weights." only when every model step ran on an Akamai GPU. A mock card says "Mock run. No GPU was used."
No pose model for a swing video, no Kubernetes, and no provider model or switch for one. The jersey option repaints the face with the shirt and nothing checks that it held, so identity-preserving generation is not built either.
printed