Anil-matcha/Wan-3.0-API

Wan 3.0 API Python SDK and MCP server for AI video generation: text-to-video, image-to-video, multimodal references, uploads, and async job polling.

78

stars

32

commits

Python

primary language

Aug 25, 2026

updated

muapi.ai/wan-3
ai-api
ai-video
ai-video-generation
alibaba-wan
api-wrapper
async-api
generative-ai
image-to-video-api
mcp-server
model-context-protocol
muapi
multimodal-ai
python-api-wrapper
python-sdk
text-to-video-api
video-api
video-generation
wan-3-0-api
wan-3-api
wan-api

README

Wan 3.0 API — Python Wrapper

Powered by MuAPI License: MIT Python 3.9+

A focused Python SDK and MCP server for the Wan 3.0 API on MuAPI. It supports text-to-video, image-to-video, multimodal reference-to-video (up to 10 reference images, 5 reference videos, and 5 reference audios), synchronized audio, file upload, and asynchronous job polling.

▶ Watch: How to Access Wan 3.0 API - Best Uncensored Alternative to Seedance 2

Install

git clone https://github.com/Anil-matcha/Wan-3.0-API.git
cd Wan-3.0-API
pip install -r requirements.txt
cp .env.example .env

Set MUAPI_API_KEY in .env. Set WAN_API_BASE_URL only if you use a compatible provider other than the default MuAPI base URL.

Quick start

from wan_api import WanAPI

api = WanAPI()
job = api.text_to_video(
    "A cinematic tracking shot of a red fox crossing a snowy forest at sunrise",
    resolution="720p",
    aspect_ratio="16:9",
    duration=5,
)

result = api.wait_for_completion(job["request_id"])
print(result)

Image to video

job = api.image_to_video(
    prompt="The subject turns toward camera as a gentle breeze moves their hair.",
    image_url="https://example.com/reference.jpg",
    aspect_ratio="9:16",
    duration=5,
)

Reference to video

job = api.reference_to_video(
    prompt="The person from the reference image walks into the room shown in the reference video.",
    images_list=["https://example.com/character.jpg"],
    videos_list=["https://example.com/room.mp4"],
    resolution="720p",
    duration=5,
)

API surface

MethodPurpose
text_to_video()Create a video with synchronized audio from a text prompt.
image_to_video()Animate a source image, with optional end-frame guidance via last_image.
reference_to_video()Condition a video on up to 10 reference images, 5 reference videos, and 5 reference audios.
upload_file()Upload a local reference file.
get_result() / wait_for_completion()Retrieve an asynchronous job's output.

Every method also accepts resolution (480p, 720p, 1080p), duration (2-30 seconds), thinking_mode (deeper reasoning for complex prompts), enable_audio, and seed.

MCP server

Expose Wan tools to MCP-capable clients:

python mcp_server.py

The server provides text_to_video, image_to_video, reference_to_video, and get_task_status tools.

Endpoint compatibility

The client uses the wan3.0-text-to-video, wan3.0-image-to-video, and wan3.0-reference-to-video paths beneath WAN_API_BASE_URL. If your provider names its endpoints differently, pass that provider's compatible base URL or adapt the small client module before use.

License

MIT

Contributors

Anil-matcha

32 commits

Anil-matcha/Wan-3.0-API

Wan 3.0 API Python SDK and MCP server for AI video generation: text-to-video, image-to-video, multimodal references, uploads, and async job polling.

78

stars

32

commits

Python

primary language

Aug 25, 2026

updated

muapi.ai/wan-3
ai-api
ai-video
ai-video-generation
alibaba-wan
api-wrapper
async-api
generative-ai
image-to-video-api
mcp-server
model-context-protocol
muapi
multimodal-ai
python-api-wrapper
python-sdk
text-to-video-api
video-api
video-generation
wan-3-0-api
wan-3-api
wan-api

README

Wan 3.0 API — Python Wrapper

Powered by MuAPI License: MIT Python 3.9+

A focused Python SDK and MCP server for the Wan 3.0 API on MuAPI. It supports text-to-video, image-to-video, multimodal reference-to-video (up to 10 reference images, 5 reference videos, and 5 reference audios), synchronized audio, file upload, and asynchronous job polling.

▶ Watch: How to Access Wan 3.0 API - Best Uncensored Alternative to Seedance 2

Install

git clone https://github.com/Anil-matcha/Wan-3.0-API.git
cd Wan-3.0-API
pip install -r requirements.txt
cp .env.example .env

Set MUAPI_API_KEY in .env. Set WAN_API_BASE_URL only if you use a compatible provider other than the default MuAPI base URL.

Quick start

from wan_api import WanAPI

api = WanAPI()
job = api.text_to_video(
    "A cinematic tracking shot of a red fox crossing a snowy forest at sunrise",
    resolution="720p",
    aspect_ratio="16:9",
    duration=5,
)

result = api.wait_for_completion(job["request_id"])
print(result)

Image to video

job = api.image_to_video(
    prompt="The subject turns toward camera as a gentle breeze moves their hair.",
    image_url="https://example.com/reference.jpg",
    aspect_ratio="9:16",
    duration=5,
)

Reference to video

job = api.reference_to_video(
    prompt="The person from the reference image walks into the room shown in the reference video.",
    images_list=["https://example.com/character.jpg"],
    videos_list=["https://example.com/room.mp4"],
    resolution="720p",
    duration=5,
)

API surface

MethodPurpose
text_to_video()Create a video with synchronized audio from a text prompt.
image_to_video()Animate a source image, with optional end-frame guidance via last_image.
reference_to_video()Condition a video on up to 10 reference images, 5 reference videos, and 5 reference audios.
upload_file()Upload a local reference file.
get_result() / wait_for_completion()Retrieve an asynchronous job's output.

Every method also accepts resolution (480p, 720p, 1080p), duration (2-30 seconds), thinking_mode (deeper reasoning for complex prompts), enable_audio, and seed.

MCP server

Expose Wan tools to MCP-capable clients:

python mcp_server.py

The server provides text_to_video, image_to_video, reference_to_video, and get_task_status tools.

Endpoint compatibility

The client uses the wan3.0-text-to-video, wan3.0-image-to-video, and wan3.0-reference-to-video paths beneath WAN_API_BASE_URL. If your provider names its endpoints differently, pass that provider's compatible base URL or adapt the small client module before use.

License

MIT

Contributors

Anil-matcha

32 commits

Languages

Python

100.0%