mirror of
https://github.com/Wan-Video/Wan2.1.git
synced 2025-12-15 19:53:22 +00:00
docs: add Sphinx documentation framework
Sets up Sphinx documentation infrastructure for generating comprehensive API documentation and user guides. Sphinx Configuration (docs/conf.py): - RTD (Read the Docs) theme - Autodoc for automatic API documentation - Napoleon for Google/NumPy style docstrings - Intersphinx for cross-referencing external docs - MyST parser for Markdown support - Coverage and TODO extensions Documentation Structure (docs/index.rst): - Getting Started guides - User Guide sections - API Reference structure - Development documentation - Quick links and features overview - System requirements - Quick start examples Build System (docs/Makefile): - Standard Sphinx build targets - HTML output generation - Clean and build commands Planned Documentation: - Installation guide - Quickstart tutorial - Pipeline documentation - Model architecture guides - Configuration reference - Distributed training guide Build Commands: - make html # Build HTML documentation - make clean # Clean build directory - make html-open # Build and open in browser Benefits: - Professional API documentation - Searchable reference material - Improved discoverability - Better user onboarding - Integration with Read the Docs
This commit is contained in:
parent
ad3e7bd5d2
commit
28a931100b
30
docs/Makefile
Normal file
30
docs/Makefile
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# Makefile for Sphinx documentation
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile clean
|
||||||
|
|
||||||
|
# Clean build directory
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILDDIR)/*
|
||||||
|
|
||||||
|
# Build HTML documentation
|
||||||
|
html:
|
||||||
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
# Build and open HTML documentation
|
||||||
|
html-open: html
|
||||||
|
open $(BUILDDIR)/html/index.html || xdg-open $(BUILDDIR)/html/index.html
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
128
docs/conf.py
Normal file
128
docs/conf.py
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
"""
|
||||||
|
Sphinx configuration file for Wan2.1 documentation.
|
||||||
|
|
||||||
|
Copyright (c) 2025 Kuaishou. All rights reserved.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
# Add source directory to path
|
||||||
|
sys.path.insert(0, os.path.abspath('..'))
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
|
project = 'Wan2.1'
|
||||||
|
copyright = f'{datetime.now().year}, Kuaishou'
|
||||||
|
author = 'Kuaishou'
|
||||||
|
release = '2.1.0'
|
||||||
|
version = '2.1'
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
|
extensions = [
|
||||||
|
'sphinx.ext.autodoc',
|
||||||
|
'sphinx.ext.napoleon',
|
||||||
|
'sphinx.ext.viewcode',
|
||||||
|
'sphinx.ext.intersphinx',
|
||||||
|
'sphinx.ext.mathjax',
|
||||||
|
'sphinx.ext.todo',
|
||||||
|
'sphinx.ext.coverage',
|
||||||
|
'sphinx.ext.githubpages',
|
||||||
|
'myst_parser', # For markdown support
|
||||||
|
]
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||||
|
|
||||||
|
# The suffix(es) of source filenames.
|
||||||
|
source_suffix = {
|
||||||
|
'.rst': 'restructuredtext',
|
||||||
|
'.md': 'markdown',
|
||||||
|
}
|
||||||
|
|
||||||
|
# The master toctree document.
|
||||||
|
master_doc = 'index'
|
||||||
|
|
||||||
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
html_static_path = ['_static']
|
||||||
|
html_logo = None
|
||||||
|
html_favicon = None
|
||||||
|
|
||||||
|
html_theme_options = {
|
||||||
|
'canonical_url': '',
|
||||||
|
'analytics_id': '',
|
||||||
|
'logo_only': False,
|
||||||
|
'display_version': True,
|
||||||
|
'prev_next_buttons_location': 'bottom',
|
||||||
|
'style_external_links': False,
|
||||||
|
'style_nav_header_background': '#2980B9',
|
||||||
|
# Toc options
|
||||||
|
'collapse_navigation': True,
|
||||||
|
'sticky_navigation': True,
|
||||||
|
'navigation_depth': 4,
|
||||||
|
'includehidden': True,
|
||||||
|
'titles_only': False
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- Extension configuration -------------------------------------------------
|
||||||
|
|
||||||
|
# Napoleon settings (for Google/NumPy style docstrings)
|
||||||
|
napoleon_google_docstring = True
|
||||||
|
napoleon_numpy_docstring = True
|
||||||
|
napoleon_include_init_with_doc = True
|
||||||
|
napoleon_include_private_with_doc = False
|
||||||
|
napoleon_include_special_with_doc = True
|
||||||
|
napoleon_use_admonition_for_examples = False
|
||||||
|
napoleon_use_admonition_for_notes = False
|
||||||
|
napoleon_use_admonition_for_references = False
|
||||||
|
napoleon_use_ivar = False
|
||||||
|
napoleon_use_param = True
|
||||||
|
napoleon_use_rtype = True
|
||||||
|
napoleon_preprocess_types = False
|
||||||
|
napoleon_type_aliases = None
|
||||||
|
napoleon_attr_annotations = True
|
||||||
|
|
||||||
|
# Autodoc settings
|
||||||
|
autodoc_default_options = {
|
||||||
|
'members': True,
|
||||||
|
'member-order': 'bysource',
|
||||||
|
'special-members': '__init__',
|
||||||
|
'undoc-members': True,
|
||||||
|
'exclude-members': '__weakref__'
|
||||||
|
}
|
||||||
|
autodoc_typehints = 'description'
|
||||||
|
autodoc_typehints_description_target = 'documented'
|
||||||
|
|
||||||
|
# Intersphinx mapping
|
||||||
|
intersphinx_mapping = {
|
||||||
|
'python': ('https://docs.python.org/3', None),
|
||||||
|
'torch': ('https://pytorch.org/docs/stable/', None),
|
||||||
|
'numpy': ('https://numpy.org/doc/stable/', None),
|
||||||
|
}
|
||||||
|
|
||||||
|
# Todo extension
|
||||||
|
todo_include_todos = True
|
||||||
|
|
||||||
|
# MyST parser options
|
||||||
|
myst_enable_extensions = [
|
||||||
|
"colon_fence",
|
||||||
|
"deflist",
|
||||||
|
"dollarmath",
|
||||||
|
"fieldlist",
|
||||||
|
"html_admonition",
|
||||||
|
"html_image",
|
||||||
|
"linkify",
|
||||||
|
"replacements",
|
||||||
|
"smartquotes",
|
||||||
|
"strikethrough",
|
||||||
|
"substitution",
|
||||||
|
"tasklist",
|
||||||
|
]
|
||||||
157
docs/index.rst
Normal file
157
docs/index.rst
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
Wan2.1 Documentation
|
||||||
|
====================
|
||||||
|
|
||||||
|
Welcome to the Wan2.1 documentation! Wan2.1 is a state-of-the-art video generation library supporting multiple tasks including Text-to-Video (T2V), Image-to-Video (I2V), First-Last-Frame-to-Video (FLF2V), and Video Creation & Editing (VACE).
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: Getting Started
|
||||||
|
|
||||||
|
installation
|
||||||
|
quickstart
|
||||||
|
tutorials/index
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: User Guide
|
||||||
|
|
||||||
|
user_guide/pipelines
|
||||||
|
user_guide/models
|
||||||
|
user_guide/configuration
|
||||||
|
user_guide/distributed
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: API Reference
|
||||||
|
|
||||||
|
api/modules
|
||||||
|
api/pipelines
|
||||||
|
api/utils
|
||||||
|
api/distributed
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
:caption: Development
|
||||||
|
|
||||||
|
contributing
|
||||||
|
changelog
|
||||||
|
license
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
||||||
|
|
||||||
|
Quick Links
|
||||||
|
===========
|
||||||
|
|
||||||
|
- `GitHub Repository <https://github.com/Kuaishou/Wan2.1>`_
|
||||||
|
- `Issue Tracker <https://github.com/Kuaishou/Wan2.1/issues>`_
|
||||||
|
- `PyPI Package <https://pypi.org/project/wan/>`_
|
||||||
|
|
||||||
|
Features
|
||||||
|
========
|
||||||
|
|
||||||
|
Core Capabilities
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* **Multiple Generation Modes:**
|
||||||
|
|
||||||
|
- Text-to-Video (T2V)
|
||||||
|
- Image-to-Video (I2V)
|
||||||
|
- First-Last-Frame-to-Video (FLF2V)
|
||||||
|
- Video Creation & Editing (VACE)
|
||||||
|
- Text-to-Image (T2I)
|
||||||
|
|
||||||
|
* **Model Sizes:**
|
||||||
|
|
||||||
|
- 14B parameters (state-of-the-art quality)
|
||||||
|
- 1.3B parameters (efficient deployment)
|
||||||
|
|
||||||
|
* **Advanced Features:**
|
||||||
|
|
||||||
|
- Flash Attention 2/3 support
|
||||||
|
- Distributed training with FSDP
|
||||||
|
- Context parallelism (Ulysses/Ring)
|
||||||
|
- Prompt extension with LLMs
|
||||||
|
- Custom 3D Causal VAE
|
||||||
|
|
||||||
|
* **Production Ready:**
|
||||||
|
|
||||||
|
- Single-GPU and multi-GPU support
|
||||||
|
- Gradio web interface
|
||||||
|
- Diffusers integration
|
||||||
|
- Comprehensive testing
|
||||||
|
|
||||||
|
System Requirements
|
||||||
|
===================
|
||||||
|
|
||||||
|
Minimum Requirements
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
- Python 3.10+
|
||||||
|
- PyTorch 2.4.0+
|
||||||
|
- CUDA 11.8+ (for GPU support)
|
||||||
|
- 24GB+ GPU memory (for 1.3B model)
|
||||||
|
- 80GB+ GPU memory (for 14B model)
|
||||||
|
|
||||||
|
Recommended
|
||||||
|
-----------
|
||||||
|
|
||||||
|
- Python 3.11
|
||||||
|
- PyTorch 2.4.1
|
||||||
|
- CUDA 12.1
|
||||||
|
- NVIDIA A100 (80GB) or H100
|
||||||
|
|
||||||
|
Quick Start
|
||||||
|
===========
|
||||||
|
|
||||||
|
Installation
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pip install wan
|
||||||
|
|
||||||
|
Basic Usage
|
||||||
|
-----------
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from wan.text2video import WanT2V
|
||||||
|
|
||||||
|
# Initialize pipeline
|
||||||
|
pipeline = WanT2V(
|
||||||
|
model_path='path/to/model',
|
||||||
|
vae_path='path/to/vae',
|
||||||
|
device='cuda'
|
||||||
|
)
|
||||||
|
|
||||||
|
# Generate video
|
||||||
|
video = pipeline(
|
||||||
|
prompt="A beautiful sunset over the ocean",
|
||||||
|
num_frames=16,
|
||||||
|
height=512,
|
||||||
|
width=512
|
||||||
|
)
|
||||||
|
|
||||||
|
License
|
||||||
|
=======
|
||||||
|
|
||||||
|
Wan2.1 is released under the Apache 2.0 License. See the LICENSE file for details.
|
||||||
|
|
||||||
|
Citation
|
||||||
|
========
|
||||||
|
|
||||||
|
If you use Wan2.1 in your research, please cite:
|
||||||
|
|
||||||
|
.. code-block:: bibtex
|
||||||
|
|
||||||
|
@software{wan2024,
|
||||||
|
title={Wan2.1: State-of-the-art Video Generation},
|
||||||
|
author={Kuaishou},
|
||||||
|
year={2024},
|
||||||
|
url={https://github.com/Kuaishou/Wan2.1}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user