Spaces:
Running on Zero
A newer version of the Gradio SDK is available: 6.20.0
title: GYF GPU Lane
emoji: π
colorFrom: indigo
colorTo: pink
sdk: gradio
app_file: app.py
pinned: false
GYF GPU serving lane (HF ZeroGPU)
Free-tier GPU lane for GetYourFit (engineering-doctrine D7). Serves the fashion
encoder's GPU embedding as a small JSON API the local GYF stack calls through
perception.remote.RemoteEncoder. Only the forward pass runs here β retrieval
scoring, ranking, and the M2 bake-off stay on the caller's CPU.
API
| api_name | input | output |
|---|---|---|
/embed_images |
model_id: str, images_b64: list[str] (base64 PNG) |
{"embeddings": [[...]], "dim": int} |
/embed_texts |
model_id: str, texts: list[str] |
{"embeddings": [[...]], "dim": int} |
/estimate_skin_tone |
image_b64: str (base64 PNG) |
{"skin_tone": "mstN", "undertone": str, "field_confidence": {...}, "model_version": str} |
/estimate_body |
image_b64: str (base64 PNG) |
{"measurements": {...}, "region_quality": {...}, "model_confidence": float, "model_version": str} |
Embeddings are L2-normalized; only Apache-2.0 encoder models in ALLOWED_MODELS
are served (keep in sync with models.registry.json). /estimate_body runs BiRefNet
(MIT silhouette) + RTMW (Apache-2.0 whole-body keypoints) and returns
height-normalized torso widths anchored to the shoulder/hip landmarks β the
bodyshape measurement geometry is vendored from ml/usermodel/body/measurements.py
(keep in sync). Both photo lanes abstain (unknown / model_confidence: 0) when no
plausible subject is found.
Deploy
See docs/deploy/gpu-lane.md in the main repo for the
full picture β the free Colab path, the local path, and deploying this folder as a remote
serving lane (HF ZeroGPU / RunPod / Modal) behind GYF_ENCODER_REMOTE_URL.