550W Resolve Share Link
550W Resolve Share Link, explained
- result_json
The name undersells it
550W Resolve Share Link (FiftyWShareResolve) sounds like a parser. Paste a Douyin, Kuaishou, Bilibili or Weibo share link, get a URL back - free, right?
No. Read the source and the endpoint it hits is the video watermark removal one, with your share URL as the source. So this node is parse-and-submit in a single step: it extracts the link from the share text, hands it to the service, and the service fetches the video and erases the watermark across it. That's why it has a confirm_charge checkbox and why running it costs credits. If you expected a free URL extractor, you're about to spend money finding out otherwise.
That's not a knock - it's a genuinely convenient one-node path. Grab the "copy link" text out of the app, paste it, queue, and a few minutes later you have a clean video URL. Just know what the button does.
How the mechanism actually behaves
You drop the whole share blob into share_text, not a tidied URL. The node regex-scans it for https?://…, strips trailing punctuation (including the full-width Chinese marks that share text tends to trail), and requires exactly one URL. Paste two links and you get "Invalid input" - there's no "use the first" fallback. The text is capped at 2048 characters, and URLs carrying embedded credentials are rejected outright.
From there it's a JSON POST to the service, no file upload at all - the service pulls the media itself. Note what's not on this node: there's no rectangle parameter. The video goes through full-frame, which is the sane default for a corner logo burned in by an app, and the wrong tool for a watermark sitting over actual content. For surgical erasing you want the pack's upload-and-submit video node, which does expose a rect.
The output is a single result_json STRING. What you do with it depends on what you wanted:
- A clean file to keep. Read the result URL out of the JSON and open it in a browser. Deliberate design choice on the author's part: this pack never promises native video decoding, so nothing gets turned into a
VIDEOin the graph. If the parse worked but the download didn't, the resolved link is still sitting in the JSON for you to grab manually. - A chain of nodes. Wire
result_jsoninto whatever consumes strings; for the video path the meaningful next step is 550W Video Task Query, because these jobs are asynchronous.
The other required widgets are the same as the rest of the pack: confirm_charge must be True, and operation_id needs 8–64 characters of [A-Za-z0-9._:-]. Empty fails - and since it's the mechanism for reconciling a rerun against work you may already have been charged for, type something meaningful and reuse it. language just picks the language of the error strings; auth_mode picks api_key or oauth.
Install
Same pack, same three dependencies, nothing to download:
cd ComfyUI/custom_nodes
git clone https://github.com/sunshinehu/comfyui-550w-media-cn
python -m pip install -r comfyui-550w-media-cn/requirements.txt
Restart ComfyUI. API key mode reads two environment variables - FIFTYW_API_KEY and FIFTYW_USER_NO - which you set before launching, since credentials are deliberately kept out of the saved workflow. The OAuth route exists too:
cd ComfyUI/custom_nodes
python -m <installed-dir-name>.oauth_cli connect # opens a browser on this host only
It registers a local 127.0.0.1 callback with a five-minute window, stores the token in the OS keychain, and refuses to run at all if it can't. On a server with no desktop, use the key.
Where it goes wrong
Two links in the paste. Share text that includes an app deep link and a web URL trips the exactly-one rule. Trim it to one.
Treating the JSON as the video. Nothing here produces a VIDEO you can hand to a video node. If you queue and see a string, that's success - open the link.
Rerunning to "check". The service won't retry a paid task for you, and a network failure means the outcome is unknown, not that it failed. Query the task before resubmitting, or you pay twice for the same video.
Multi-link platforms. The README lists Douyin, Kuaishou, Bilibili and Weibo specifically. App formats drift, and this is a wrapper around somebody's server-side parser, so a link shape that worked last month can start returning an error - that's the service changing, not your workflow.
One more: this pack is obscure enough that there is no community thread to search when it misbehaves. The corpus has nothing on it. The README and the shipped adapter.py are your support channel, and the code is the honest one.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| language | COMBO | en | 2 options: zh-CN, en |
| share_text | STRING | — | |
| operation_id | STRING | — | |
| confirm_charge | BOOLEAN | false | — |
| auth_modeopt | COMBO | api_key | 2 options: api_key, oauth |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result_json | STRING | — |