Wan27 Account and Models
Read the menu before anything bills you
- account_json
- models_or_schema_json
Here's the thing nobody tells you when you google this node: Wan 2.7 has no weights. Alibaba closed the numbered series after Wan 2.2 - 2.5, 2.6 and 2.7 all shipped as hosted services only - so there is no checkpoint to download and no local sampler that can run it. Wan27Inspect exists to talk to the hosted service. It's a network call wearing a node costume.
That's not a knock, it's just the category. If you want 2.7 specifically, a cloud call is the only door. What the local crowd thinks of that door is worth knowing up front: when 2.7 was announced for release, the top reply in the announcement thread was "No one cares unless it can be ran locally" at +72, with "if its not open source who cares" not far behind. So go in with clear eyes. You're paying a vendor for a model you can't have.
What this node actually does
Two read-only GETs against https://wan2-7.io/api/v1/ - one for your account, one for the model catalogue or a single model's schema. Nothing is generated, nothing is spent. It's the "check the balance and read the price list" node, and it's the right first node in the pack because model parameters and prices are discovered at runtime by the service, not assumed from the example JSON that ships in the Estimate node's default.
The pack is published by Wan27 itself ("both are maintained by Wan27", per the README), which is a different trust shape than the usual third-party ComfyUI-<vendor>-API wrapper. You're installing the vendor's own client, not a stranger's proxy in front of it. The flip side is that the node is only as good as their service, and the README says the paid subscription is required - installing is free, generating is not.
The one input, and the two outputs
model_id is a plain STRING, default empty. That's the whole interface, and the empty default is meaningful:
- Leave it blank and the node returns your account plus the full list of models you can pay for.
- Put a model ID in it (something like the
wan2.7-imagethat appears in the pack's own example) and the second output narrows to that model's current input schema - the actual field names and accepted values, which is exactly what you want before hand-writing a generation request.
Both outputs are JSON-as-text: account_json for the balance and access eligibility, models_or_schema_json for the catalogue or schema. Neither is a tensor, so they don't go anywhere near your image pipeline. Wire them into a text preview node - Show Text, or whatever JSON viewer you keep around - and read them. The README makes a pointed note that returned text is data, not instructions; don't treat a model description as something to execute.
Install
ComfyUI Manager: search the pack title "Wan27" and install. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/NotUsingGithub/ComfyUI-Wan27.git
Then restart ComfyUI. There are no third-party Python dependencies at all - the client is stdlib urllib, pyproject.toml declares an empty dependency list, and no model weights are downloaded. This is genuinely one of the lightest installs you'll do this month.
The part that actually matters is the token, which comes from the environment of the ComfyUI process, not from a node field:
export WAN27_ACCESS_TOKEN="your-token-here"
# then start ComfyUI from that same shell
On Windows, $env:WAN27_ACCESS_TOKEN="..." in PowerShell before launching. The token is read at call time but the environment is inherited at process start, so setting it after ComfyUI is already running does nothing until you restart.
Where people get burned
A token with a trailing newline is not a token. The client rejects blank tokens and any token containing \r or \n with AUTH_REQUIRED. If you copied your key out of a file or a terminal that added a line break, you'll get "Provide an existing Wan27 access token" while staring at a token that looks perfectly fine. Check for the invisible part.
Redirects are refused by design. The client installs a handler that raises REDIRECT_REJECTED rather than following a 3xx, and the origin is hardcoded. If you're behind a corporate proxy or a TLS-inspecting middlebox that rewrites the request, the node fails rather than silently posting your bearer token somewhere else. Annoying once, reassuring forever.
Calls time out at 120 seconds and surface as SERVICE_UNAVAILABLE. For this node that's harmless - it's a read, just queue it again.
Account and credit data lands in ComfyUI history. The README says this plainly and it's worth internalising before you screenshot a workflow: your balance and any task data are in there, so don't share a graph you wouldn't want disclosed.
One nice detail from the source: this node opts out of ComfyUI's execution cache, so pressing Queue again genuinely re-fetches instead of replaying the previous answer. Models and prices change; your node won't hand you a stale menu.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_id | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| account_json | STRING | — |
| models_or_schema_json | STRING | — |