scottmbutterworth/iconedge-starvector

IconEdge StarVector bridge container (HF Inference Endpoint) — im2svg, Apache-2.0 composite

0

stars

2

commits

Python

primary language

Aug 21, 2026

updated

README

StarVector bridge — HF Inference Endpoint deployment

HTTP wrapper around StarVector-1B im2svg (Apache-2.0 composite — see LICENSE for the verified component breakdown). One contract, same code, three run targets (PROPOSAL.md §5.1/§11):

  1. local — IconTreasury-style subprocess (dev on the Mac)
  2. this container on a GPU box (Hetzner GPU or HF)
  3. HF Inference Endpoint with scale-to-zero ← this repo's purpose

Contract

GET  /health   -> {"ok": true, "model_loaded": bool, "device": "cuda|cpu"}
POST /generate -> {"image_b64": "<png>", "max_tokens": 4096, "num_beams": 2}
                  <- {"svg": "<svg...>", "elapsed_s": 12.3}

The IconEdge Node client (STARVECTOR_ENDPOINT) doesn't care which target answers.

Deploy to HF Inference Endpoint

Files live in the HF model repo scottmbutterworth2026/iconedge-starvector (custom Dockerfile image). Endpoint: GPU (nvidia-t4 is enough — 1B fp16 ≈ 2.5 GB VRAM), autoscaling min 0 / max 1, scale-to-zero after 15 min idle. Cold start ≈ model download + load (few minutes); warm inference ≈ seconds.

# create / update the endpoint (once) — see deploy.sh
./deploy.sh

Cost sanity: ~$0.5–1/hr only while warm. If the tier isn't earning its keep, min_replica=0 means it costs nothing.

Local test

docker build -t iconedge-starvector .
docker run --rm -p 8080:8080 iconedge-starvector
curl localhost:8080/health

License

Commercial-safe. Weights self-contained → the gated bigcode/starcoderbase-1b upstream is never fetched (estate bridge trick). See LICENSE.

Contributors

scottmbutterworth/iconedge-starvector

IconEdge StarVector bridge container (HF Inference Endpoint) — im2svg, Apache-2.0 composite

0

stars

2

commits

Python

primary language

Aug 21, 2026

updated

README

StarVector bridge — HF Inference Endpoint deployment

HTTP wrapper around StarVector-1B im2svg (Apache-2.0 composite — see LICENSE for the verified component breakdown). One contract, same code, three run targets (PROPOSAL.md §5.1/§11):

  1. local — IconTreasury-style subprocess (dev on the Mac)
  2. this container on a GPU box (Hetzner GPU or HF)
  3. HF Inference Endpoint with scale-to-zero ← this repo's purpose

Contract

GET  /health   -> {"ok": true, "model_loaded": bool, "device": "cuda|cpu"}
POST /generate -> {"image_b64": "<png>", "max_tokens": 4096, "num_beams": 2}
                  <- {"svg": "<svg...>", "elapsed_s": 12.3}

The IconEdge Node client (STARVECTOR_ENDPOINT) doesn't care which target answers.

Deploy to HF Inference Endpoint

Files live in the HF model repo scottmbutterworth2026/iconedge-starvector (custom Dockerfile image). Endpoint: GPU (nvidia-t4 is enough — 1B fp16 ≈ 2.5 GB VRAM), autoscaling min 0 / max 1, scale-to-zero after 15 min idle. Cold start ≈ model download + load (few minutes); warm inference ≈ seconds.

# create / update the endpoint (once) — see deploy.sh
./deploy.sh

Cost sanity: ~$0.5–1/hr only while warm. If the tier isn't earning its keep, min_replica=0 means it costs nothing.

Local test

docker build -t iconedge-starvector .
docker run --rm -p 8080:8080 iconedge-starvector
curl localhost:8080/health

License

Commercial-safe. Weights self-contained → the gated bigcode/starcoderbase-1b upstream is never fetched (estate bridge trick). See LICENSE.

Contributors

Languages

Python

70.8%

Shell

16.7%

Dockerfile

12.5%