HTTP API server for AnimoFlow, a text-to-motion generation platform. This is the source-available API layer; the hosted web app is a separate, closed component.
- User guide — all the ways to use AnimoFlow: https://animoflow-alpha.pages.dev/guide/
- Live API reference: https://animoflow-alpha.pages.dev/redoc
- All AnimoFlow repositories: https://github.com/AnimoFlow
POST /v1/jobs with a motion description → get an animated character as an FBX / GLB file. Orchestrates local model containers through ComfyUI, or proxies to a remote AnimoFlow backend.
animoflow-api/
├── api/
│ ├── main.py # FastAPI server (v1 router)
│ ├── proxy.py # Reverse-proxy mode (ANIMOFLOW_BACKEND_URL set)
│ ├── pipeline.py # Job queue (in-memory, async)
│ └── comfyui_client.py # Builds + submits ComfyUI workflow JSON; polls for result
├── scripts/
│ └── audit_api_docs.py # API-docs lockstep audit — must pass before any api/ commit
└── docker-compose.yml # API container (joins the comfyui-animoflow stack)
Canonical reference at /redoc (Redoc, auto-generated from the FastAPI app — the same path works on any self-hosted instance). Try-it-out playground at /docs (Swagger UI). Spec JSON at /openapi.json. Highlights:
| Method | Path | Description |
|---|---|---|
POST |
/v1/jobs |
{input, model, character, ...} → {job_id} |
GET |
/v1/jobs/{id} |
Job state (poll until status=done) |
GET |
/v1/files/{id}.{ext} |
Download generated FBX/GLB |
GET |
/v1/tasks |
Task + model catalog (live availability) |
GET |
/v1/health |
Liveness probe (no auth) |
Local development uses ComfyUI as the orchestrator — clone and start comfyui-animoflow first.
When ANIMOFLOW_BACKEND_URL is set, this server runs in proxy mode and forwards /v1/* to the configured remote backend (typically the AnimoFlow HF Space) instead of orchestrating ComfyUI locally.
git clone git@github.com:AnimoFlow/animoflow-api.git
git clone git@github.com:AnimoFlow/comfyui-animoflow.git # sibling checkout
cd animoflow-api && cp .env.example .env # add HF_TOKEN
docker compose up -d --buildBrings up MDM + MoMask + priorMDM model containers, ComfyUI as headless
orchestrator (Blender baked in for the rig/GLB stages), and this API at
http://localhost:8090. MDM weights auto-download into a volume on first
start (weights-init; needs HF_TOKEN). Kimodo (GPU) and the retargeter come
up under the gpu profile: docker compose --profile gpu up -d.
The one-command stack above is also the studio/LAN setup — nothing extra to
install. Every animator on the network opens the AnimoFlow Blender add-on's
preferences, picks Own Server, and enters this machine's address
(http://<hostname-or-ip>:8090). Jobs from all seats queue through this
server; no cloud account, and nothing leaves your network once weights are
downloaded. If you already run the comfyui-animoflow
stack for your own ComfyUI work, this API simply sits in front of it.
Non-technical overview (who this is for, what it costs — spoiler: free under the commercial threshold): the self-hosting guide.
For working on the server itself, run it straight from a Python 3.11+ venv:
OUTPUT_DIR=/tmp/animoflow-output \
python -m uvicorn main:app \
--host 0.0.0.0 --port 8090 --app-dir ./apiOpen http://localhost:8090.
The API can serve a static site from WEB_DIR (skipped when unset or
missing). The AnimoFlow web app itself is a closed component — self-hosted
instances are typically driven by the Blender add-on or the REST API instead.
AnimoFlow Community License 1.0.0 — source-available, perpetual threshold
license (see LICENSE). Free forever, including production and
commercial use, for individuals, non-profits, schools/universities/public
research organizations, and any organization under $5M USD (2026) total
finances and 100 people (CPI-indexed, affiliates counted together). Larger
commercial organizations get a 30-day evaluation grant, then need a
commercial license: guy@animoflow.ai (not yet open — ask to join the
waitlist).
This is a source-available license, not an open-source license. The open-source parts of AnimoFlow are the ComfyUI node pack (AGPL-3.0) and the Blender add-on (GPL-3.0). Full per-repo map, FAQ, and CLA: AnimoFlow/legal.