oxihuman-cli 0.1.0

Command-line interface for OxiHuman body generation and export
oxihuman-cli-0.1.0 is not a library.
Visit the last successful build: oxihuman-cli-0.1.1

oxihuman-cli

Part of the OxiHuman workspace — privacy-first, client-side human body generator in pure Rust.

Status: Stable | Tests: 119 passing | Commands: 32 subcommands | Version: 0.1.0 | Updated: 2026-03-11

Command-line interface for OxiHuman body generation and export. Binary: oxihuman


Installation

cargo install oxihuman-cli

Quick Start

# Generate a morphed GLB from base mesh, targets, and parameters
oxihuman generate --base human_base.obj --targets ./targets/ --height 1.75 --output human.glb

# Build a verified target manifest from a directory
oxihuman pack-build ./targets/ --output manifest.json

# Generate a batch of character variants from a parameter grid
oxihuman batch-chars --params params.json --output-dir ./variants/

Subcommands — 32 Total

Mesh Generation

Command Description
generate Build a morphed GLB from base mesh, morph targets, and body parameters
batch-chars Generate multiple character variants from a parameter grid JSON
remesh Remesh an OBJ mesh using isotropic remeshing

Asset Management

Command Description
pack-build Scan a targets directory and build a verified manifest
validate Validate a .target file or pack manifest
validate-pack Validate a full pack manifest including all referenced targets
sign-pack Sign a pack directory with a signature file
verify-sign Verify a pack directory's signature file

Information & Reporting

Command Description
info Print information about a mesh, GLB, or manifest file
session Print saved session JSON information
stats Parse an OBJ and print detailed mesh statistics
workspace Print workspace and build info (version, crate list, enabled features)
plugin-list List built-in plugin descriptors
camera-info Print the default camera rig as JSON

Export Formats

Command Description
quantize Quantize an OBJ mesh to compact QMSH binary format
morph-export Export morph targets to OXMD binary format
zip-pack Pack base mesh and targets into a self-contained ZIP
stl Export mesh to STL (ASCII or binary mode)
collada Export mesh to COLLADA (.dae)
gltf-sep Export mesh to glTF JSON with a separate .bin buffer file
svg Export mesh wireframe or UV layout to SVG
lod-export Export a LOD pack with multiple decimation levels
variant-pack Export multiple character variants as a named pack
asset-bundle Pack base mesh and targets into an OXB asset bundle
stream-export Stream-export mesh vertex positions to chunked files (f32, i16, or CSV)
report Generate an HTML pipeline report for a build
mdd Export motion data in MDD format

Advanced

Command Description
proxies Generate body collision proxies and print as JSON
physics-export Export a physics scene (gltf-physics or openxr format)
target-info Print metadata about a .target file
anim-bake Bake animation sequences to PC2 or MDD format

Command Reference

generate

Build a morphed, export-ready GLB from raw inputs.

oxihuman generate \
  --base human_base.obj \
  --targets ./targets/ \
  --height 1.75 \
  --weight 0.4 \
  --muscle 0.6 \
  --age 30 \
  --output human.glb

batch-chars

Generate many character variants in one pass from a JSON parameter grid. Each entry in the grid becomes a separate output file.

oxihuman batch-chars \
  --base human_base.obj \
  --targets ./targets/ \
  --params params.json \
  --output-dir ./variants/

Example params.json:

[
  { "name": "variant_a", "height": 1.80, "weight": 0.3, "muscle": 0.7 },
  { "name": "variant_b", "height": 1.60, "weight": 0.6, "muscle": 0.2 }
]

pack-build

Scan a directory of .target files, verify checksums, and write a manifest JSON.

oxihuman pack-build ./targets/ --output manifest.json

validate / validate-pack

oxihuman validate face_slim.target
oxihuman validate-pack manifest.json

sign-pack / verify-sign

oxihuman sign-pack ./targets/ --key signing.key --output targets.sig
oxihuman verify-sign ./targets/ --sig targets.sig --key signing.pub

quantize

Compact a mesh to QMSH for efficient storage and fast loading.

oxihuman quantize human_base.obj --output human.qmsh

lod-export

Export multiple LOD levels in a single pass.

oxihuman lod-export human.glb \
  --levels 0.9,0.5,0.25,0.1 \
  --output-dir ./lods/

stream-export

Stream vertex positions to chunked binary or text output.

# Float32 binary chunks
oxihuman stream-export human.glb --format f32 --chunk-size 1024 --output-dir ./stream/

# CSV (human-readable)
oxihuman stream-export human.glb --format csv --output positions.csv

anim-bake

Bake a parameter-driven animation to a point cache format.

oxihuman anim-bake \
  --base human_base.obj \
  --targets ./targets/ \
  --anim anim.json \
  --format pc2 \
  --output anim.pc2

report

Generate a self-contained HTML pipeline report.

oxihuman report \
  --base human_base.obj \
  --targets ./targets/ \
  --params params.json \
  --output pipeline_report.html

Dependencies

oxihuman-cli is a binary-only crate (no public library API). Runtime dependencies:

  • anyhow — error handling
  • serde_json — JSON parsing and serialization
  • All oxihuman-* workspace crates — core pipeline, mesh, morph, physics, export

License

Apache-2.0 — Copyright (C) 2026 COOLJAPAN OU (Team KitaSan)