Overview
HairDeck by hyz317 converts a single character image into stylized hair cards, assigning per-card UVs and colors and generating spring-bone chains for animation. Its image pipeline combines an Image DiT, Card VAE, Color DiT, and Chain DiT; the resulting hair meshes can be exported as GLB and attached to the supplied avatar body for VRM 0.x export. The checkpoints are released under Apache-2.0.
Best use cases
Use it to generate animation-ready stylized hair-card assets from a character image, including card geometry, colors, and spring-bone chains. It also supports producing multiple hair variations and exporting a hair-equipped avatar as VRM 0.x.
Limitations
Local setup requires Linux, Python 3.12, and a CUDA GPU; SAM 3 and DINOv3 licences must be accepted, and their weights, along with BiRefNet-matting and Dora-VAE, are fetched separately rather than bundled. Video previews require ffmpeg. The supplied evidence does not specify supported image dimensions, GPU memory requirements, or detailed input-image constraints.
How it compares
The supplied abstract compares HairDeck with CHARM, describing HairDeck's unordered-set diffusion approach versus CHARM's autoregressive sequence of control points. It reports lower Chamfer distance, lower card-orientation error, and faster runtime on CHARM's test set, but provides no numerical evaluation details here beyond 44% lower Chamfer distance, more than half the orientation error, and 33× faster runtime. These are abstract-reported results, not a general guarantee. HairDeck research.
Technical specifications
The image-to-hair pipeline uses four released components: Image DiT generates hair-card tokens conditioned on an image; Card VAE decodes card-token latents into geometry; Color DiT predicts per-card colors conditioned on the tokens and image; Chain DiT generates spring-bone chains conditioned on card tokens. A separate Point-cloud DiT generates tokens from point clouds and is used in the point-cloud generation and evaluation path, not the described image pipeline. The image model uses DINOv3 ViT-L/16 features; the point-cloud model uses Dora-VAE 1.1 features. DiT checkpoints contain EMA weights, while the Card VAE checkpoint contains model weights. Checkpoints are safetensors, with training configuration in metadata; the supplied code is used to load them. No parameter counts, training hardware, or image-pipeline benchmark measurements are specified in the supplied model documentation.
Model inputs and outputs
Inputs
The primary workflow takes a single character image. The separate point-cloud path takes a point cloud and is used for point-cloud generation and evaluation. Matching normalization statistics are required for both paths. The documented command accepts an image filename, an output directory, and a number of variations via --n; no further image-format or resolution constraints are specified.
Outputs
The image workflow generates hair-card geometry with per-card UVs and colors, spring-bone chains, and GLB hair meshes. The documented export workflow attaches hair to the provided avatar body and creates a VRM 0.x avatar; it also creates a head-turn video for the selected seed. The README says inference writes the requested number of variations and that video previews require ffmpeg.
Getting started
export HAIRDECK_ROOT=/path/to/workspace python scripts/setup/download_weights.py python scripts/image_to_hair.py character.png --out results/my_character --n 4 python -m hairdeck.vrm.export results/my_character/character 0 Frequently asked questions
Q: What does HairDeck generate?
A: From a character image, it generates stylized hair cards with per-card UVs and colors, plus spring-bone chains for animation. The hair meshes can be exported as GLB and used in a VRM 0.x avatar workflow.
Q: What is needed for local use?
A: The documented setup is Linux, Python 3.12, and a CUDA GPU. SAM 3 and DINOv3 licences must be accepted, and several supporting model weights are fetched from their own repositories.
Q: Does the point-cloud model power image-to-hair generation?
A: No. The documented image pipeline uses Image DiT, Card VAE, Color DiT, and Chain DiT. Point-cloud DiT is for the separate point-cloud generation and evaluation path.
Q: Are all required model weights included in the checkpoint bundle?
A: The HairDeck checkpoints and supporting assets are downloaded together, but DINOv3, SAM 3, BiRefNet-matting, and Dora-VAE weights are fetched from their own repositories when needed.
Q: What does the --n 4 example do?
A: It requests four variations, written under the specified output directory. The example then exports the result for seed 0 as a VRM and head-turn video.
Q: What does the supplied evaluation evidence say about CHARM?
A: The supplied abstract reports 44% lower Chamfer distance, more than half the card-orientation error, and 33× faster runtime on CHARM's own test set. These reported comparisons do not establish performance for every use case.
Q: What license applies to the HairDeck checkpoints?
A: The checkpoints are released under Apache-2.0.
This is a simplified guide to an AI model called HairDeck maintained by hyz317. If you like these kinds of analysis, join AIModels.fyi or follow us on Twitter.





