# ssj9596/one-to-all-animation architecture

> Architecture diagram of the GitHub repository ssj9596/one-to-all-animation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ssj9596/one-to-all-animation
- Repository: https://github.com/ssj9596/one-to-all-animation

## Overview

One-to-All Animation generates character videos from a reference image and motion/pose input, with 1.3B and 14B inference variants. The main user workflow prepares inputs, constructs a model pipeline, and generates video; pose estimation/retargeting and reference-conditioned models support motion control. The repository also provides dataset preparation, progressive training, and evaluation code. Inference wiring is supported by sampled scripts; training and evaluation links are limited to capabilities documented in the README because their runtime implementations were not sampled.

Main entry points: [`video-generation/inference_1.3b.py`](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_1.3b.py) (1.3B inference), [`video-generation/inference_14b.py`](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_14b.py) (14B inference), [`video-generation/infer_preprocess.py`](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/infer_preprocess.py) (Input preparation), [`video-generation/opensora/dataset`](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/dataset) (Training datasets)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_generation["Video generation"]
  node_preprocess["Input preparation"]
  node_runner13["1.3B inference<br/>[inference_1.3b.py]"]
  node_runner14["14B inference<br/>[inference_14b.py]"]
  node_text["Text encoders"]
  node_wan["Wan transformers"]
  node_vae["Video VAE"]
  node_video["Generated video"]
end

subgraph group_pose["Pose and reference"]
  node_poseextract["Pose extraction<br/>[pose2d.py]"]
  node_poseutils["Pose utilities<br/>[pose2d_utils.py]"]
  node_retarget["Pose retargeting<br/>[retarget_pose.py]"]
  node_dwpose["DWPose detection<br/>[dwpose_detector.py]"]
end

subgraph group_training["Training data"]
  node_trainprep["Training data prep"]
  node_posepool["Pose pool prep"]
  node_datasets["Training datasets"]
  node_train["Progressive training<br/>[train.py]"]
  node_trainvae["VAE training<br/>[train_causalvae.py]"]
end

subgraph group_evaluation["Training and evaluation"]
  node_metrics["Evaluation metrics"]
  node_checkpoint[("Model checkpoints")]
  node_pretrained[("Pretrained models")]
end

node_user(("Animation user"))

node_user -->|"prepares inputs"| node_preprocess
node_preprocess -->|"supplies inputs"| node_runner13
node_preprocess -->|"supplies inputs"| node_runner14
node_runner13 -->|"loads encoder"| node_text
node_runner13 -->|"builds transformer"| node_wan
node_runner13 -->|"loads VAE"| node_vae
node_runner13 -->|"generates video"| node_video
node_runner14 -->|"loads encoder"| node_text
node_runner14 -->|"builds transformer"| node_wan
node_runner14 -->|"loads VAE"| node_vae
node_runner14 -->|"generates video"| node_video
node_poseextract -->|"uses utilities"| node_poseutils
node_retarget -->|"uses utilities"| node_poseutils
node_user -.->|"provides motion"| node_poseextract
node_poseextract -.->|"provides pose"| node_preprocess
node_trainprep -.->|"prepares data"| node_datasets
node_posepool -.->|"prepares pose data"| node_datasets
node_datasets -.->|"feeds training"| node_train
node_train -.->|"produces weights"| node_checkpoint
node_pretrained -.->|"initializes training"| node_train
node_datasets -.->|"feeds VAE training"| node_trainvae
node_train -.->|"evaluated by"| node_metrics

click node_preprocess "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/infer_preprocess.py"
click node_runner13 "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_1.3b.py"
click node_runner14 "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_14b.py"
click node_text "https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/encoder_variants"
click node_wan "https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/model_variants/wanx_diffusers_src"
click node_vae "https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/vae_variants"
click node_poseextract "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/pose2d.py"
click node_poseutils "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/pose2d_utils.py"
click node_retarget "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/retarget_pose.py"
click node_dwpose "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/dwpose_utils/dwpose_detector.py"
click node_trainprep "https://github.com/ssj9596/one-to-all-animation/blob/main/datasets/prepare_training_data.py"
click node_posepool "https://github.com/ssj9596/one-to-all-animation/blob/main/datasets/prepare_pose_pool.py"
click node_datasets "https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/dataset"
click node_train "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/opensora/train/train.py"
click node_trainvae "https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/opensora/train/train_causalvae.py"
click node_metrics "https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/eval"
click node_checkpoint "https://github.com/ssj9596/one-to-all-animation/blob/main/checkpoints/download_checkpoints.py"
click node_pretrained "https://github.com/ssj9596/one-to-all-animation/blob/main/pretrained_models/download_pretrained_models.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_preprocess,node_runner13,node_runner14,node_text,node_wan,node_vae,node_video,node_user toneBlue
class node_poseextract,node_poseutils,node_retarget,node_dwpose toneAmber
class node_trainprep,node_posepool,node_datasets,node_train,node_trainvae toneMint
class node_metrics,node_checkpoint,node_pretrained toneRose
```

## Components

### Video generation

- [Input preparation](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/infer_preprocess.py): `video-generation/infer_preprocess.py`
- [1.3B inference](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_1.3b.py): `video-generation/inference_1.3b.py`
- [14B inference](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/inference_14b.py): `video-generation/inference_14b.py`
- [Text encoders](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/encoder_variants): `video-generation/opensora/encoder_variants`
- [Wan transformers](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/model_variants/wanx_diffusers_src): `video-generation/opensora/model_variants/wanx_diffusers_src`
- [Video VAE](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/vae_variants): `video-generation/opensora/vae_variants`
- **Generated video**

### Pose and reference

- [Pose extraction](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/pose2d.py): `video-generation/wanpose_utils/pose2d.py`
- [Pose utilities](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/pose2d_utils.py): `video-generation/wanpose_utils/pose2d_utils.py`
- [Pose retargeting](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/wanpose_utils/retarget_pose.py): `video-generation/wanpose_utils/retarget_pose.py`
- [DWPose detection](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/dwpose_utils/dwpose_detector.py): `video-generation/dwpose_utils/dwpose_detector.py`

### Training data

- [Training data prep](https://github.com/ssj9596/one-to-all-animation/blob/main/datasets/prepare_training_data.py): `datasets/prepare_training_data.py`
- [Pose pool prep](https://github.com/ssj9596/one-to-all-animation/blob/main/datasets/prepare_pose_pool.py): `datasets/prepare_pose_pool.py`
- [Training datasets](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/dataset): `video-generation/opensora/dataset`
- [Progressive training](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/opensora/train/train.py): `video-generation/opensora/train/train.py`
- [VAE training](https://github.com/ssj9596/one-to-all-animation/blob/main/video-generation/opensora/train/train_causalvae.py): `video-generation/opensora/train/train_causalvae.py`

### Training and evaluation

- [Evaluation metrics](https://github.com/ssj9596/one-to-all-animation/tree/main/video-generation/opensora/eval): `video-generation/opensora/eval`
- [Model checkpoints](https://github.com/ssj9596/one-to-all-animation/blob/main/checkpoints/download_checkpoints.py): `checkpoints/download_checkpoints.py`
- [Pretrained models](https://github.com/ssj9596/one-to-all-animation/blob/main/pretrained_models/download_pretrained_models.py): `pretrained_models/download_pretrained_models.py`

### Other components

- **Animation user**

## Connections

- Animation user → Input preparation: prepares inputs (evidence: `README.md`)
- Input preparation → 1.3B inference: supplies inputs (evidence: `README.md`)
- Input preparation → 14B inference: supplies inputs (evidence: `README.md`)
- 1.3B inference → Text encoders: loads encoder (evidence: `video-generation/inference_1.3b.py`)
- 1.3B inference → Wan transformers: builds transformer (evidence: `video-generation/inference_1.3b.py`)
- 1.3B inference → Video VAE: loads VAE (evidence: `video-generation/inference_1.3b.py`)
- 1.3B inference → Generated video: generates video (evidence: `video-generation/inference_1.3b.py`)
- 14B inference → Text encoders: loads encoder (evidence: `video-generation/inference_14b.py`)
- 14B inference → Wan transformers: builds transformer (evidence: `video-generation/inference_14b.py`)
- 14B inference → Video VAE: loads VAE (evidence: `video-generation/inference_14b.py`)
- 14B inference → Generated video: generates video (evidence: `video-generation/inference_14b.py`)
- Pose extraction → Pose utilities: uses utilities (evidence: `video-generation/wanpose_utils/pose2d.py`)
- Pose retargeting → Pose utilities: uses utilities (evidence: `video-generation/wanpose_utils/retarget_pose.py`)
- Animation user → Pose extraction: provides motion (evidence: `README.md`)
- Pose extraction → Input preparation: provides pose
- Training data prep → Training datasets: prepares data (evidence: `README.md`)
- Pose pool prep → Training datasets: prepares pose data (evidence: `README.md`)
- Training datasets → Progressive training: feeds training (evidence: `README.md`)
- Progressive training → Model checkpoints: produces weights (evidence: `README.md`)
- Pretrained models → Progressive training: initializes training (evidence: `README.md`)
- Training datasets → VAE training: feeds VAE training (evidence: `README.md`)
- Progressive training → Evaluation metrics: evaluated by (evidence: `README.md`)
