PowerTokens Video Studio
OfficialPowerTokens Video Studio
English | 简体中文
Windows desktop tool for batch & episodic AI video generation with Wan 3.0 — Excel import, safe resume, no double charges.
Wan 3.0 limited-time discount until Oct 7, 2026. See current prices on the Wan 3.0 model page.

PowerTokens Video Studio calls the Wan 3.0 video model (wan3.0-video) through the PowerTokens API. It is built for people who generate many clips at once, such as short-drama episodes, and who need interrupted jobs to recover without paying twice.
Currently supports the Wan 3.0 video model only. Requests for more models are welcome in Issues.
Features
English and Chinese interface: switch any time with the 中文 / English toggle in the top-right corner. On first launch the app follows your Windows display language.
Single video: prompt, duration (2–30 s), 720p / 1080p, 16:9 / 9:16 / 1:1, optional first/last frame and reference image / video / audio URLs, seed. Duration and ratio are detected from the prompt in English or Chinese: "16s, 16:9 landscape…", "total length 15s", or a shot timeline such as "0-3s … 8-12s" or "00:00-00:03 …". Native audio is on.
Batch from Excel / CSV: one row per clip, English or Chinese column headers, bounded concurrency (1–8 generations, 1–4 downloads), per-row status colors and CSV export of results.
Shared character settings for episodic series: one cast description is added in front of every episode prompt, so characters stay consistent across rows.
Resume by Task ID: every Task ID is saved before polling. Resuming only queries and downloads; it never resubmits.
Resumable downloads:
.partfiles with HTTP Range, overlap and size checks.Key pool: add several keys; batch rows rotate the preferred key.
No double charging: a new key is tried only when a submission is explicitly rejected before any Task ID exists. Timeouts, 5xx and unclear responses are never retried automatically.
Encrypted key storage: keys stay in memory by default, or are saved with Windows DPAPI (bound to your Windows account).
Optional CLI (
pt_wan.py) and MCP server (mcp_server.py).
Related MCP server: runway-mcp
Screenshots
Generate video | Batch import | API Key |
|
|
|
Prefer Chinese? Click 中文 in the top-right corner. The switch applies instantly and is remembered.
Quick start (no Python needed)
Download
PowerTokensVideoStudio.exefrom the Releases page.Double-click it. The EXE is not code-signed, so Windows SmartScreen may show "Windows protected your PC". Click More info → Run anyway.
Open the API Key tab, paste your PowerTokens key and click Add to key pool.
Write a prompt on the Generate video tab, or import a spreadsheet on the Batch import tab.
A three-episode sample spreadsheet is included in English (short-drama-batch-template.xlsx) and Chinese (短剧批量示例模板.xlsx). In the app, Save sample template… on the Batch import tab saves the one that matches your interface language. Columns: Title, Duration (s), Resolution, Aspect ratio, Wan 3.0 Prompt (only the prompt column is required).
Get an API key
Sign up on PowerTokens and create a key. The Sign up / Get an API key button in the app opens the same page.
Run from source
Requires Windows and Python 3.11+ (with Tcl/Tk and "Add python.exe to PATH"). No third-party packages are needed.
Start.bator python app.py.
Use with AI assistants (MCP)
mcp_server.py is a small MCP server that lets AI assistants such as Claude Desktop and Cursor create Wan 3.0 videos for you. It uses the same engine as the desktop app (through pt_wan.py), so every Task ID is saved and interrupted jobs are resumed instead of resubmitted. The assistant gets four tools:
Tool | What it does |
| Shows how many API keys are configured (masked) and whether the server is ready. It does not contact the API. |
| Estimates the cost for |
| Submits a |
| Checks and downloads an existing task by |
Tool descriptions and messages follow the app's language setting (English or Chinese).
Requirements. Run it from the source folder with Python 3.11+ (the EXE does not include the MCP server) and install the MCP Python SDK (1.x and 2.x both work):
pip install mcpAPI key. The MCP server needs a PowerTokens API key (create one here). Pass it through the POWERTOKENS_API_KEY environment variable, or POWERTOKENS_API_KEYS for a comma-separated key pool. If neither is set, the server uses the keys saved with python pt_wan.py config --add-key. Keys saved in the desktop app are not shared with the MCP server.
Configure your assistant. Add the server to Claude Desktop (claude_desktop_config.json) or Cursor (~/.cursor/mcp.json, or .cursor/mcp.json in a project):
{
"mcpServers": {
"powertokens-video-studio": {
"command": "python",
"args": ["C:\\path\\to\\video-studio\\mcp_server.py"],
"env": {
"POWERTOKENS_API_KEY": "your-powertokens-api-key"
}
}
}
}Use the full path to mcp_server.py in your copy of this repository, and the full path to python.exe (or your virtualenv's Python) if python is not on PATH. On macOS or Linux, use python3 and a path such as /Users/you/video-studio/mcp_server.py. Restart the assistant after editing the config. The key is stored in that config file, so keep it private.
Docker. The repository also has a Dockerfile that runs only the MCP server over stdio (no desktop app):
docker build -t powertokens-video-studio-mcp .
docker run -i --rm -e POWERTOKENS_API_KEY=your-powertokens-api-key -v "$PWD/videos:/videos" powertokens-video-studio-mcpIn an assistant config, use "command": "docker" with those run arguments (keep -i). Videos are saved in /videos inside the container, so mount a folder there and ask for output paths such as /videos/scene1.mp4. The server starts and lists its tools without a key; check_key then reports that no key is configured.
Tips:
Ask for an absolute
outputpath such asC:\Videos\scene1.mp4. Without one, the video is saved aswan_<id>.mp4in the server's working directory.If a generation is interrupted or times out, ask the assistant to call
resume_videowith the Task ID instead of generating again, so the task is only charged once.
Build the EXE
On Windows, run Build-EXE.bat. It creates a build virtualenv, installs PyInstaller, runs the tests and writes dist\PowerTokensVideoStudio.exe, with the PowerTokens icon and the assets folder bundled.
The GitHub Actions workflow Build Windows executable (.github/workflows/build-windows.yml) builds the same EXE when you push a v* tag or start it manually.
Pricing
Costs are charged by PowerTokens per second of video and depend on resolution. The app shows an estimate based on the price checked on the date it displays; your PowerTokens bill is authoritative. The discounted rate is used through Oct 7, 2026 (local date), with the regular price shown alongside; from Oct 8 the estimate switches to the regular price automatically. Check current prices on PT's Wan 3.0 pricing page.
Security notes
The API key is only sent to the configured API host (
https://api.powertokens.aiby default). It is stripped from redirects and never sent to CDN / storage hosts.Task records store a key fingerprint (first 16 hex characters of SHA-256) and the last 4 characters, never the full key.
Desktop keys are kept in memory unless you tick "remember"; then they are encrypted with Windows DPAPI.
The CLI config stores keys in plain text.
python pt_wan.py config --add-keywrites the key unencrypted to%LOCALAPPDATA%\PowerTokensWan\cli-config.json(or thePT_WAN_CONFIGpath), and file permissions cannot be restricted on Windows. Prefer thePOWERTOKENS_API_KEY/POWERTOKENS_API_KEYSenvironment variables, and never commit that file.Signed video download links are stored in the local task record until the download completes, then cleared. If a download never completes they remain there; they expire on their own.
To use another HTTPS gateway, set
POWERTOKENS_API_BASE(HTTPS only).
Local data lives in %LOCALAPPDATA%\PowerTokensWan (the folder name is kept from earlier versions so existing records keep working).
FAQ
The status query returns HTTP 403. The app keeps using the key that submitted the task and also tries the task's download endpoint. In a batch, the row is set aside and queried once more with the original key after the other rows finish. Keys are never deleted because of a 403. If it persists, check the task in the PowerTokens dashboard, then resume it later from the task history.
Generation timed out. The app waits up to one hour per task, then tries one more download. The Task ID is kept either way. Open History / Resume, select the task and click Resume selected. Do not generate again, or you may pay twice.
I clicked "Stop waiting". Is the task cancelled? No. Only the local wait stops; the task keeps running in the cloud and may be charged. Resume it from History / Resume.
A batch row shows "Result unknown". The app could not confirm whether the task was created, so it will not resubmit. Look up the task in the PowerTokens dashboard and use Link existing Task ID on that row.
How do I change the language?
Click 中文 or English in the top-right corner. The window switches immediately and keeps your prompt, keys and imported batch; the choice is saved in %LOCALAPPDATA%\PowerTokensWan\settings.json.
More details are in the Chinese user guide: 使用说明.md. Release notes: CHANGELOG.md.
Development
python -m unittest discover -s tests -vTests use mocked responses and never call the real API. GUI tests run on Windows, or elsewhere with PT_GUI_TESTS=1.
License and community
MIT, see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Generate AI videos from a prompt or document (PDF/PPTX/DOCX/URL) and export shareable MP4s.
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Generate AI video from any MCP client. Pick the model, see the per-second price before you spend.
Related MCP Servers
- AlicenseAqualityBmaintenanceWan AI video generation with text-to-video, image-to-video, and multiple quality models via AceDataCloud API.71MIT
- AlicenseAqualityBmaintenanceEnables creating and managing Runway video generation tasks (text-to-video, video extension) through a single RunAPI key, including task polling and pricing checks.572 npmApache 2.0
- AlicenseBqualityAmaintenanceMCP server for the Wan model line enabling AI-driven animation, video editing, and image/video generation tasks via RunAPI with status polling and pricing.964 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP-capable clients to generate higher-fidelity videos via Wan 3.0 Prime, supporting text-to-video, image-to-video, multimodal reference-to-video, and async task status polling.3MIT


