router: add forge-hidream and forge-liveportrait (Hunter's, unlisted) #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "forge-hidream"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hey Riley, one llama-swap entry so spark-swapper can actually load
forge-hidream.Why: spark-swapper already lists
forge-hidream, but llama-swap's config doesn't have it, so a request for it gets queued and then comes back 404. I'm using it for Truesight (the robot head): you can ask the page to "generate a face", and HiDream paints two front-facing portraits to pick from. The Forge's picture area uses the same server.What it is: HiDream-O1-Image-Dev (MIT) in
forge-pic:hidream-serve, the image I already built on the Spark. One small HTTP server:GET /health,POST /paint(multipart in, zip of PNGs out). It'sunlisted, so no chat client shows it, and it's only reached through/upstream/forge-hidream/.How it shares the box:
spark-memory, so loading it evicts deepseek, the same as the coder models. It needs the GPU alone (33 GB of weights). It loads in about 10-16 s, and a picture takes about 36 s at 1024.forge-hidreamand asks for deepseek straight away.hunter(uid 1001). Weights are read-only from/home/hunter/forge/weights, the only writable folder is/home/hunter/forge/cache, it's bound to 127.0.0.1, and it needs no network or Hugging Face token at runtime.Heads-up: the config deployed on the Spark seems to differ from master. The swapper knows
qwen3.6-35b-a3b-nvfp4, which master doesn't have. This PR only adds lines, so it should merge cleanly on top of whatever you have.Test after deploy:
That should answer 200 once deepseek has been idle about 2 minutes, which is the swapper's handoff rule.
Second commit:
forge-liveportrait. Truesight's face frames. LivePortrait (MIT code) takes a saved portrait and re-poses it into the mouth, blink and expression frames the robot's screen plays while someone watches.forge-face:liveportrait-serveis already built on the Spark. It built on the CPU only, nothing ran on the GPU, and an import check passed. It's also tested end to end on a Mac.spark-memory. One face is about a minute.ttl 300, and the runner hands the slot back straight away.modelslist inrouter/spark-swapper.toml, so both configs ship together.Update: the
forge-liveportraitimage also does an eye pass with Talking Head(?) Anime 3 for drawn and anime faces (code MIT, models CC BY 4.0). Same entry, same image name. Its weights are another ~700 MB, read-only under/home/hunter/forge/weights. It still takes the GPU alone, and one face takes a minute or two.🤖 Generated with Claude Code
router: add forge-hidream (Hunter's picture server, unlisted)to router: add forge-hidream and forge-liveportrait (Hunter's, unlisted)Replaced by #2, which carries both commits here plus the rest of the Forge models and its LiteLLM routes. This one shows broken because Forgejo never moved its stored head to the second commit; #2 explains it.
Pull request closed