EntVista Hub + Metrixel CLI Reference
Zwe Wint Naing · 2026-09-28
The command-line reference for EntVista Hub sign-in and the Metrixel dataset pipeline, current as of 2026.3.1: Every option with its defaults, along with for which plan, exit codes for automation, and examples of headless workflows.
The command-line reference for EntVista Hub (sign-in and licence seats) and Metrixel (the dataset pipeline), current as of 2026.3.1. We will cover every option, the defaults, the plans each may need... all of this with examples for headless and automated workflows.
Metrixel's CLI is a preview surface: pin the product version your automation runs against, and use the installed build's --help if it and this page ever disagree.
Modification history
| Product | Version | CLI change |
|---|---|---|
| Metrixel | 2026.2.0 | Headless CLI introduced: --mode cli, single and batch dataset processing, SDF controls, manifest output, and EntVista Hub session reuse. |
| EntVista Hub | 2026.2.x | Headless sign-in with auth login and auth status: a browser on another device approves the headless host. |
| Metrixel | 2026.2.1 | Animation selection with --frame_range START:END and --frame_stride N. |
| Metrixel | 2026.3.0 | Motion Retargeting: target and source rig mapping, source-list and recursive source-folder workflows, stay-in-place rendering, resume and force controls, and project load/save. |
| EntVista Hub | 2026.3.0 | --replace-existing-session lets a headless host take over the licence seat from another device. |
| Metrixel | 2026.3.1 | Mesh-Aware Correction and Penetration Visualisation (--mesh_aware_correction, --penetration_visualisation, --correction_quality). --xray render option. --retarget_contact_aware renamed --retarget_refine (the old name still works for now). --camera_step 0 accepted as one camera view. --wireframe now takes effect from the CLI. A run blocked by another Metrixel instance now exits with an error instead of appearing successful. On Linux, --version and --help work on hosts without a display. |
| EntVista Hub | 2026.3.1 | auth lease list, auth lease revoke, auth logout --all, auth login --offline and --force. |
1. Running the commands
The examples use entvistahub and metrixel. Those short names exist on Linux after running the tarball's ./install.sh, which links both into ~/.local/bin. On macOS and Windows, run the binary from its install folder instead, for example:
| Platform | Metrixel |
|---|---|
| Linux | metrixel (after ./install.sh) |
| Windows | "C:\Program Files\EntVistaStudio\Metrixel\<version>\bin\Metrixel.exe" |
| macOS | /Applications/EntVistaStudio/Metrixel/<version>/Metrixel.app/Contents/MacOS/Metrixel |
EntVista Hub installs the same way, under EntVistaStudio/EntVistaHub/<version>/.
Close the Metrixel app before using the CLI. While the desktop app is open, a CLI run exits with an error, and --version / --help print nothing. Always write the mode as --mode cli.
2. EntVista Hub CLI
Metrixel has no separate command-line login. EntVista Hub owns sign-in and the subscription session. Sign in through EntVista Hub once on the host; later Metrixel CLI runs on the same host reuse that session.
On a headless machine, sign-in uses a device code: the terminal prints a short code and an address, and you approve the sign-in in a browser on any other device.
Commands
| Command | Purpose |
|---|---|
entvistahub --mode cli auth login |
Sign in. Reuses an existing valid session instead of creating a second one. |
entvistahub --mode cli auth login --offline |
Sign in with a long-lived session, for unattended hosts that must stay signed in through restarts. Release it with auth logout --all when the host is retired. |
entvistahub --mode cli auth login --force |
Sign in again even though a valid session exists. |
entvistahub --mode cli auth status |
Show the signed-in account. Exit code 0 signed in, 1 not signed in, 2 the stored sign-in belongs to a different environment. |
entvistahub --mode cli auth logout |
Sign out on this machine and release its licence seat. |
entvistahub --mode cli auth logout --all |
End every session on the account. Use it for an --offline host, and before a plain auth logout. |
entvistahub --mode cli auth lease list |
List the devices holding a licence seat on the account. |
entvistahub --mode cli auth lease revoke |
Release this device's seat without signing out. |
entvistahub --mode cli --replace-existing-session |
When the seat is in use on another device, sign that device out and take the seat here. Opt-in on purpose: the other device is signed out, possibly mid-job. |
A first run on a new host:
entvistahub --mode cli auth login
entvistahub --mode cli auth status
metrixel --version
metrixel --help
Keep EntVista Hub installed on the same host. Metrixel gets sign-in, subscription and plan state from the Hub, and starts it if it is not already running.
3. Metrixel CLI
Every pipeline run begins with:
metrixel --mode cli
Before building automation around an installation:
metrixel --version # includes the build ID — record it with generated datasets
metrixel --help
Boolean options always take a value: write --xray true (or --xray=true), never a bare --xray. true/false, 1/0, yes/no and on/off are all accepted.
Plans. Rendering, texture extraction and PyTorch mesh export are available on every plan, including the free signed-in tier. Batch mode, TIFF, SDF export, Motion Retargeting, Mesh-Aware Correction and Clipping (Penetration) Visualisation need the Professional plan.
3.1 Core input and output
| Option | Default | Purpose |
|---|---|---|
--mode cli |
gui |
Run headlessly. |
--gen_mode single|batch |
single |
One model, or every asset under --input. Legacy 0|1 still accepted. Batch: Professional. |
--model_file PATH |
— | The model processed in single mode. |
--input DIR |
— | Input directory for batch mode. |
--output DIR |
— | Dataset output root. |
--include_formats LIST |
all | Batch allowlist from fbx, obj, gltf, glb, stl — e.g. fbx,glb. |
--inter_asset_delay SEC |
-1 |
Pause between batch assets. -1 automatic, 0 none. |
--manifest true|false |
on in CLI | Write manifest.json describing every output. |
Inputs: FBX, OBJ, glTF/GLB and STL. Files over 200 MB are skipped.
Output layout: <output>/assets/<asset>/{images,meshes,textures,animations,sdf}/ plus manifest.json.
Example — one asset
metrixel --mode cli \
--gen_mode single \
--model_file /data/input/character.glb \
--output /data/output \
--gen_sdf false
--gen_sdf false keeps a Standard or free run from reporting a skipped SDF stage (see Exit codes); Professional users can leave it out.
Example — recursive batch (Professional)
metrixel --mode cli \
--gen_mode batch \
--input /data/input \
--output /data/output \
--include_formats=fbx,glb \
--manifest=true
3.2 Image and animation capture
| Option | Default | Purpose |
|---|---|---|
--width N, --height N |
512 |
Output size, 32–16384. |
--frame_format jpg|png|tiff |
jpg |
Image format. TIFF: Professional. |
--frame_quality N |
100 |
JPEG quality, 1–100. |
--camera_step DEG |
90 |
Orbit step, 15–360 (90 gives four views). 0 means one view, the same as 360. |
--camera_distance_factor N |
1.5 |
Camera distance multiplier, 1–10. |
--camera_offset_x N, --camera_offset_y N |
0 |
Horizontal and vertical camera offset. |
--frames_per_second N |
30 |
Animation sampling rate, 1–60. |
--frame_range START:END |
whole clip | Inclusive, zero-based frame range; trimmed to the clip's length. |
--frame_stride N |
1 |
Keep every Nth animation frame. |
--single_frame true|false |
false |
Render one static frame instead of the animation. |
--wireframe true|false |
false |
Wireframe rendering. Takes effect from the CLI since 2026.3.1. |
--xray true|false |
false |
Also write an x-ray image of every frame, as <frame>_xray.<ext>, beside the normal one. Works on any asset and every plan. |
--animation_stay_in_place true|false |
false |
Remove the input animation's root travel from the render. |
Images are written to <output>/assets/<asset>/images/.
Example — 12 views, PNG, every fourth animation frame
metrixel --mode cli \
--gen_mode single \
--model_file /data/input/character.fbx \
--output /data/output \
--width 1024 --height 1024 \
--frame_format png \
--camera_step 30 \
--frames_per_second 30 \
--frame_range=0:120 \
--frame_stride=4 \
--gen_sdf false
Example — one camera angle
metrixel --mode cli \
--gen_mode single \
--model_file /data/input/character.glb \
--output /data/output \
--camera_step 0 \
--gen_sdf false
Example — x-ray alongside the normal render
metrixel --mode cli \
--gen_mode single \
--model_file /data/input/character.glb \
--output /data/output \
--xray true \
--gen_sdf false
Each frame is written twice: 000_000_000_0000.jpg and 000_000_000_0000_xray.jpg. No correction, retarget or Professional plan is needed; like every render, it requires signing in through EntVista Hub.
3.3 Mesh tensors and SDF
| Option | Default | Purpose |
|---|---|---|
--gen_pt true|false |
true |
Write PyTorch .pt mesh tensors. Every plan. |
--gen_sdf true|false |
true |
Write SDF volumes. Professional. On other plans, pass --gen_sdf false. |
--sdf_resolution N |
64 |
Cubic SDF resolution, 8–256. |
--sdf_format bin|npz |
bin |
SDF file format. npz currently writes the bin layout, with a warning. |
--sdf_backend auto|cpu|vulkan |
auto |
Compute backend. auto tries Vulkan, then falls back to CPU. |
--sdf_max_triangles N |
1000000 |
Skip SDF generation (only) for meshes above this triangle count; 0 removes the cap. |
Example — reproducible CPU SDF (Professional)
metrixel --mode cli \
--gen_mode single \
--model_file /data/input/mesh.glb \
--output /data/output \
--gen_sdf=true \
--sdf_resolution=64 \
--sdf_backend=cpu \
--manifest=true
3.4 Motion Retargeting (Professional)
Retargeting takes a target bone-map setting plus either a source-list file or a source folder — not both. Sources can be FBX, glTF/GLB or BVH.
Target rig
--bone_map_target auto
--bone_map_target /path/to/custom_target_map.json
auto identifies the target's rig from the asset itself.
Source-list mode
--retarget_sources takes a JSON list file, not a motion file directly.
Example sources.json:
[
{"file": "/mocap/walk.fbx", "bone_map": "auto"},
{"file": "/mocap/run.bvh", "bone_map": "auto"}
]
metrixel --mode cli \
--gen_mode single \
--model_file /characters/target.fbx \
--output /data/output \
--bone_map_target auto \
--retarget_sources /config/sources.json
Source-folder mode
metrixel --mode cli \
--gen_mode single \
--model_file /characters/target.fbx \
--output /data/output \
--bone_map_target auto \
--retarget_source_folder /mocap/library
The folder is searched recursively for FBX, glTF/GLB and BVH files. Each source's rig is identified independently (--retarget_source_bone_map auto, the default), so one folder can mix rig types.
Retarget controls
| Option | Default | Purpose |
|---|---|---|
--gen_retarget true|false |
true |
Run or skip the configured retarget without removing its configuration. |
--retarget_animation_stay_in_place true|false |
false |
Remove root travel from the retargeted render; the exported GLB keeps its root motion. |
--retarget_force true|false |
false |
Redo retarget work instead of resuming. |
--retarget_refine true|false |
false |
Motion Refinement — reduces foot sliding and jitter. CPU-only and slow on long clips. Renamed from --retarget_contact_aware in 2026.3.1; the old name still works for now, but update your scripts. |
--retarget_diagnostics true|false |
saved setting (on) | Change the saved setting for writing a solver diagnostics file (retarget_solver.jsonl). Leave the option out to keep the current setting. |
3.5 Mesh-Aware Correction and Penetration Visualisation (Professional) — 2026.3.1
Both run as part of Motion Retargeting, so a retarget must be configured (section 2.4).
| Option | Default | Purpose |
|---|---|---|
--mesh_aware_correction true|false |
false |
Check retargeted poses against the target mesh and apply a bounded correction only where it measurably reduces clipping and stays within the foot-contact and joint limits; otherwise the original pose is kept. |
--correction_quality accurate|fast |
accurate |
fast is much quicker on dense meshes. |
--penetration_visualisation true|false |
false |
Also write an x-ray (<frame>_xray.<ext>) and a heat map (<frame>_heat.<ext>) of the corrected retarget render only. Needs --mesh_aware_correction true; without it, the option is ignored. For an x-ray of any render, use --xray. |
Example — correction
metrixel --mode cli \
--gen_mode single \
--model_file /characters/target.fbx \
--output /data/output \
--bone_map_target auto \
--retarget_sources /config/sources.json \
--mesh_aware_correction true \
--correction_quality accurate
Example — correction plus x-ray and heat map
metrixel --mode cli \
--gen_mode single \
--model_file /characters/target.fbx \
--output /data/output \
--bone_map_target auto \
--retarget_sources /config/sources.json \
--mesh_aware_correction true \
--penetration_visualisation true \
--correction_quality fast
3.6 Project files
| Option | Purpose |
|---|---|
--project FILE.aproj, -p FILE.aproj |
Load a project's settings. The project's render, output, generation and retargeting settings take precedence over the same options on the command line. |
--save_project FILE.aproj, --sp FILE.aproj |
Save the current project state before the run. |
With a project loaded, the manifest and SDF format options (--manifest, --sdf_resolution, --sdf_format, --sdf_backend, --include_formats) still apply from the command line. Whether SDF and .pt are generated at all follows the project.
Example — run a saved project
metrixel --mode cli \
--project /projects/dataset.aproj \
--sdf_resolution=128 \
--manifest=true
4. Combined headless workflow
A fresh headless host uses the two applications in this order:
# 1. Sign in once through EntVista Hub (--offline if the host must stay signed in through restarts).
entvistahub --mode cli auth login
entvistahub --mode cli auth status
# 2. Record the Metrixel build being automated.
metrixel --version
# 3. Run the dataset pipeline (batch and SDF: Professional).
metrixel --mode cli \
--gen_mode batch \
--input /data/assets \
--output /data/dataset \
--include_formats=fbx,glb \
--width 1024 --height 1024 \
--camera_step 30 \
--gen_pt=true \
--gen_sdf=true \
--sdf_resolution=64 \
--sdf_backend=auto \
--manifest=true
# 4. Before tearing the host down, release the seat.
entvistahub --mode cli auth logout # auth logout --all for an --offline sign-in
5. Automation notes
Exit codes
| Code | Meaning |
|---|---|
0 |
Success (also --help and --version). |
1 |
The run was stopped. |
2 |
An option value was invalid (out of range, unknown choice, missing file). |
11 |
The run was refused before it started — for example batch mode or TIFF without the Professional plan, or no export quota left. |
12 |
The run finished, but at least one requested output was skipped because the plan doesn't include it. The other outputs were written. |
13 |
Nothing ran: another Metrixel instance is open, EntVista Hub could not be started, or the licence seat is in use on another device (check entvistahub --mode cli auth lease list). |
255 |
The command line could not be parsed (unknown option, or a boolean option without a value). |
- Turn off what your plan doesn't include (
--gen_sdf falseon Standard and free) so a clean run exits0rather than12. - Pin the Metrixel version used by CI or dataset production while the CLI is a preview surface, and record
metrixel --version(which includes the build ID) with generated datasets and support reports. - Prefer
--projectwhen a long set of render settings is shared between the GUI and the CLI; prefer explicit options when a job should be self-contained in a script. --helpalso lists some internal diagnostic options (candidate, BVH and penetration-label tools). They are unsupported and may change without notice.
6. Checking the installed build
entvistahub --mode cli auth status
metrixel --version
metrixel --help
When this reference and an installed build disagree, the installed build's --help is authoritative for that version.