# Arbo — catalog-driven image generation engine **Endpoint:** `http://irv-ml1.nh3.internal:8201` (title *ImageGen Engine*, v1.16.2) **Bare ComfyUI underneath:** `http://irv-ml1.nh3.internal:8188` **Repo:** gitea `vh/arbo` · deploy is `deploy-engine.sh` + a gitea Actions webhook on push. Runs on CPU on irv-ml1 and dispatches to ComfyUI. `GET /openapi.json` is the live contract — the paths below are the map, not the spec. ## Jobs ``` POST /workflows/{workflow_id}/run -> 202, a job id GET /jobs GET /jobs/{job_id} POST /jobs/{job_id}/cancel GET /artifacts/{job_id}/{index} # the rendered output ``` ## Character Studio — dataset → LoRA pipeline ``` POST,GET /character-studio POST /character-studio/{job_id}/curate | /reframe | /recaption POST /character-studio/{job_id}/dataset/upload | /dataset/from-gallery GET /character-studio/trains GET /character-studio/trained DELETE /character-studio/trained/{lora_id} POST /character-studio/trained/{lora_id}/identity ``` ## Also `POST /typography/compose` · `POST /ideogram/gallery` ## Traps - **A new Python dependency needs `docker exec arbo pip install --user `** — the deploy script does not rebuild the image. - **Triton backend is a HARD NO on the Ampere ComfyUI seat.** It crashes *every* render on the A6000 (`fp8e4nv` unsupported on sm_86); a cu130 bump does not fix it. Deferred until an Ada/Blackwell card is in that slot. - The mmartial ComfyUI image crash-loops if anything runs `pip` as root inside it — that breaks the venv. Fix: `chown -R 1000:1000 venv`. Set `DISABLE_UPGRADES=true` to pin torch. - Render results belong in a booth (`docs/fleettools/booth.md`), not described in prose.