Skip to content

Latest commit

 

History

History
105 lines (78 loc) · 4.62 KB

File metadata and controls

105 lines (78 loc) · 4.62 KB

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

Related Projects

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

Method Purpose
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