blender-motion-state-inspection
AFaffaan-m/ECC279k4,056 new stars in the last 7 days
Use when an agent needs to call a running Modly desktop instance from the terminal to generate/export image-to-3D assets through canonical JSON-first automation commands.
Modly exposes a local API at http://127.0.0.1:8765 while the official desktop app is running. The stdlib-only CLI at tools/modly-cli/agent.py is an agent helper over the canonical automation contract:
healthmodelworkflow-runcapabilityprocess-runFinal machine-readable JSON is printed to stdout. Progress JSON lines, when requested, are printed to stderr.
Launch the official Modly desktop app first, then check readiness:
python tools/modly-cli/agent.py health
Use --compact when another agent needs single-line JSON:
python tools/modly-cli/agent.py --compact health
GET /health is checked before business operations. If the app is unavailable, failures are structured:
{
"ok": false,
"code": "API_UNAVAILABLE",
"message": "Cannot reach Modly API at ..."
}
Inspect models through /model/*:
python tools/modly-cli/agent.py model list
python tools/modly-cli/agent.py model status
python tools/modly-cli/agent.py model params --model active
Start or resume workflow runs:
python tools/modly-cli/agent.py workflow-run start --image ./input.png --wait
python tools/modly-cli/agent.py workflow-run status <run_id>
python tools/modly-cli/agent.py workflow-run cancel <run_id>
Generate from an image and export the finished mesh:
python tools/modly-cli/agent.py generate \
--image ./input.png \
--output ./export.glb \
--progress
generate is a friendly wrapper around POST /workflow-runs/from-image and GET /workflow-runs/{run_id}. It does not silently fall back to /generate/*. The JSON includes recovery metadata:
{
"ok": true,
"run": {"kind": "workflowRun", "id": "..."},
"workspace_path": "Default/model.glb",
"export_path": "/absolute/path/to/export.glb",
"meta": {
"status_command": "python tools/modly-cli/agent.py workflow-run status ...",
"cancel_command": "python tools/modly-cli/agent.py workflow-run cancel ...",
"legacy": false
}
}
Use --no-export when the caller only needs the workspace path. The hidden export helper remains available to download an existing workspace mesh, but it is not part of the canonical root command set:
python tools/modly-cli/agent.py export --path Default/model.glb --output ./model.glb
Discover capabilities or process runs only when the running server exposes the canonical contract:
python tools/modly-cli/agent.py capability list
python tools/modly-cli/agent.py process-run status <run_id>
If the contract is absent, the CLI fails closed:
{
"ok": false,
"code": "UNSUPPORTED_PROCESS",
"message": "This process is not available through the canonical process-run contract."
}
--model auto uses the active model reported by /model/status, then validates that id against /model/all. Explicit --model values are also validated against /model/all. The CLI does not infer hidden capabilities from model names, labels, or string fragments.
The old /generate/* endpoints are explicit compatibility commands:
python tools/modly-cli/agent.py legacy job <job_id>
python tools/modly-cli/agent.py legacy cancel <job_id>
python tools/modly-cli/agent.py legacy generate --image ./input.png --output ./legacy.glb
Legacy responses include meta.legacy: true. Top-level job, cancel, models, and params aliases may still parse for older scripts, but they are not the documented canonical surface.
Headless startup helpers live under dev:
python tools/modly-cli/agent.py dev serve-api --print-command
python tools/modly-cli/agent.py dev ensure-server
python tools/modly-cli/agent.py dev ensure-server --start --detach
These commands start or inspect only the FastAPI backend. They do not imply Electron/Desktop bridge readiness, scene operation readiness, extension process execution readiness, or full workflow support. Prefer launching the official desktop app for real agent workflows.
ComfyUI orchestration is outside the canonical Modly contract and lives under experimental:
python tools/modly-cli/agent.py experimental comfy-image \
--workflow Trellis2Workflow \
--prompt "clean object render, isolated on white" \
--comfy-output ./source.png
python tools/modly-cli/agent.py experimental generate-from-workflow \
--workflow Trellis2-Full \
--prompt "clean orthographic product render of a stylized robot toy" \
--output ./export.glb
experimental generate-from-workflow --workflow <name> --output <path> treats --output as the final artifact location. If the ComfyUI history contains a downloadable .glb, .gltf, .obj, .stl, or .ply, the CLI downloads that asset directly and does not call Modly health or generation. If the workflow only produces an image, the CLI downloads that image and falls back through the canonical Modly workflow-run generation path. If no supported asset or image is found, it fails with code: "NO_WORKFLOW_OUTPUT".
The top-level status, export, and batch helpers remain parseable for older scripts and agent ergonomics, but root help does not present them as canonical automation primitives. Prefer health, model, workflow-run, capability, and process-run when documenting the supported contract.
The hidden batch helper generates meshes sequentially from a directory or manifest JSON through the canonical generate path:
python tools/modly-cli/agent.py batch \
--input-dir ./images \
--output-dir ./meshes \
--continue-on-error
python tools/modly-cli/agent.py batch \
--manifest ./jobs.json \
--output-dir ./meshes
Manifest files may be a JSON list, or an object with jobs or images. Each entry can be a string image path or an object with image, optional output, and optional format.
python tools/modly-cli/agent.py health returns ok: true.python tools/modly-cli/agent.py model list returns model entries.python tools/modly-cli/agent.py generate --image <image> --output <mesh> returns ok: true, run.kind: workflowRun, and recovery metadata.export_path exists and has non-zero size when export is enabled.python tools/modly-cli/agent.py workflow-run status <run_id> can resume polling from metadata.python tools/modly-cli/test_agent.py passes.AFaffaan-m/ECC279k4,056 new stars in the last 7 days
Generate flow fields and particle systems with p5.js, using seeded randomness for original algorithmic art.
ANanthropics/skills181k1,159 new stars in the last 7 days
ANanthropics/skills181k1,159 new stars in the last 7 days
SHShubhamsaboo/awesome-llm-apps142k914 new stars in the last 7 days
HAharry0703/MoneyPrinterTurbo131k1,664 new stars in the last 7 days
PApaperclipai/paperclip102k3,122 new stars in the last 7 days