Quick Start

June 4, 2026 · View on GitHub

A 5-minute smoke run that exercises every stage of the pipeline on a single example asset (cordless_drill). Assumes you've completed installation and have the docker image (or the grail / hunyuan conda envs) available.

Pipeline stages are launched as package modules, for example python -m grail.pipelines.gen_2dhoi and python -m grail.pipelines.recon_4dhoi. Do not use project-root wrapper scripts for pipeline stages.

1. Source environment keys

source .env   # OPENAI_API_KEY, KLING_ACCESS_KEY, KLING_SECRET_KEY, HF_TOKEN

OPENAI_API_KEY is used by the OpenAI API for prompt refinement and contact/scale helpers. Chat and vision helpers default to gpt-4o.

2. Generate a 3D object (procedural — no GPU needed)

python -m grail.pipelines.gen_terrain --type stairs --num 5 --output_dir data/syn_stairs

Outputs data/syn_stairs/stairs_{000..004}/model.obj plus texture.jpg.

3. Generate a 2D HOI video for one object

python -m grail.pipelines.gen_2dhoi \
    --dataset ComAsset --category cordless_drill \
    --character kid \
    --results_dir results --video_model_api kling-ai

The pipeline runs four stages: physics simulation, optional scale optimization, multi-view Blender rendering, and Kling-AI video generation. Total wall time: ~6–10 min per object on an L40S.

4. Reconstruct 4D motion from the video

python -m grail.pipelines.recon_4dhoi \
    --dataset ComAsset --category cordless_drill --results_dir results

Six stages: GEM-SMPL pose, SAM2 + MoGe preprocess, FoundationPose object tracking, multi-stage HOI optimization, filter, visualize. Runs in ~30–40 min per video on an L40S.

5. Inspect outputs

ls results/generation/4dhoi_recon_smplx_valid/ComAsset/cordless_drill/*/result_vis/

You'll see recon_result.mp4, recon_comparison.mp4, recon_result_top_view.mp4, and an HTML viewer. The validated motion data (SMPL-X params + object 6-DOF poses) lives in hoi_data/hoi_data.pkl.

Next steps

You want to …Doc
Generate Hunyuan3D textured assetsgen_3d_assets
Render and re-render scenes with new charactersgen_2dhoi
Tune the 4D reconstruction optimizerrecon_4dhoi
Retarget to Unitree G1retargeting
Train a SONIC policytracking
Browse a motion library in the browserweb_visualizer