--- title: Genga Kimodo emoji: 🐉 colorFrom: yellow colorTo: pink sdk: docker app_port: 7860 pinned: false license: apache-2.0 short_description: API-only Kimodo motion backend for GengaMachines. models: - nvidia/Kimodo-SOMA-RP-v1 - nvidia/Kimodo-SOMA-RP-v1.1 --- # Genga × Kimodo API-only Hugging Face Space backing the GengaMachines webapp's `/motion` flow. Wraps NVIDIA Kimodo-SOMA-RP-v1.1 with a thin Gradio API. The official interactive Kimodo demo (Viser) lives at [nvidia/Kimodo](https://huggingface.co/spaces/nvidia/Kimodo). This Space is deliberately **not** that — we expose `/gradio_api/call/kimodo_motion` so the webapp can submit prompts + constraints and receive structured motion JSON. ## API ``` POST /gradio_api/call/kimodo_motion Content-Type: application/json Authorization: Bearer ${HF_TOKEN} { "data": [prompt, num_frames, seed, cfg, num_steps, constraints_json] } ``` Then poll `/gradio_api/call/kimodo_motion/` for the SSE stream (complete / error / heartbeat events). Result envelope: ```json { "status": "ok", "numFrames": 90, "fps": 30, "rootTranslation": [[x, y, z], ...], "jointRotMats": [[ [[..3..]], ...30 ], ...90 ], "footContacts": [[lh, lt, rh, rt], ...] | null, "summary": "..." } ``` `jointRotMats` is row-major `[N, 30, 3, 3]` — local-space SOMA joint rotations. The webapp converts to quaternions in `SomaCharacterMesh.tsx`. ## Constraints `constraints_json` is a JSON-stringified list. See `constraints_schema.py`. Coordinates: Y-up, meters, character-local. Supported types: `root2d`, `fullbody`, `left-hand`, `right-hand`, `left-foot`, `right-foot`, `end-effector`.