Nodes/Face Transform by Ace Data Cloud/Face Transform Load Image (Ace Data Cloud)
ComfyUI Node

Face Transform Load Image (Ace Data Cloud)

Turning Ace's returned URL into an actual ComfyUI IMAGE

By AceDataCloud·Created 23 days ago·Updated 16 days ago· 0
Face Transform Load Image (Ace Data Cloud)
    • image
    ◄media_url►

    What it's for

    The Face Transform node is an API wrapper, and API wrappers return strings. first_media_url is a https://cdn.acedata.cloud/... link, and ComfyUI's Save Image, Preview Image, upscalers and detailers all want an IMAGE tensor. This node is the adapter: paste the URL, get a normal ComfyUI image out. One input, one output, no model, no key.

    How it works

    It's a bounded HTTPS download plus a decode. The download is fussy on purpose: the URL must be https, its hostname must be one of cdn.acedata.cloud, cdn.acedata2.cloud, platform.cdn.acedata.cloud or platform2.cdn.acedata.cloud, it must not embed a username or password, and redirects are refused outright. It streams with a 10-second connect and 90-second read timeout, retries up to three times on a network error with a short backoff, and gives up past 128 MiB. Then the bytes go through PIL: open, convert("RGB"), scale to a float32 array divided by 255, and wrap in torch.from_numpy(...).unsqueeze(0).

    That last line tells you what you're getting: a standard ComfyUI IMAGE - batch size 1, values 0–1, channels in RGB order, alpha dropped if the source had any. It behaves like anything a Checkpoint Loader or VAE Decode would hand you, which is the whole point.

    The input and the output

    media_url (STRING) is the only input, and it's meant to be fed from first_media_url on the transform node. image (IMAGE) is the only output. Nothing else to configure, and no ACEDATACLOUD_API_KEY needed - the loader never touches the API, it just fetches the CDN file. Downloading a result you already paid for shouldn't cost another credit either.

    Wire image into Save Image, Preview Image, an upscaler, or a detail pass if you want to clean up what the service returned before you keep it. This is also the only way to see what a swap or beautify came back with inside ComfyUI, since the transform node's own outputs are all text.

    Install

    Same pack, same steps - Manager, search Face Transform, publisher acedatacloud, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AceDataCloud/FaceTransformComfyUI
    cd FaceTransformComfyUI && pip install -r requirements.txt
    

    The pack pulls only requests and jsonschema; the loader's numeric and image work rides on numpy, torch and PIL, which ComfyUI already ships. The README's ComfyUI 0.39.0 requirement is about the native media loaders generally - the image path in this pack has no version-specific import, so an older build will run it fine. There's nothing to download and no model folder to populate.

    Common issues

    Task is pending; retrieve the same task ID again. That's the message for an empty media_url, which in practice means you wired first_media_url in and there's nothing there yet. Either the task hasn't finished, or the action you picked never produces media - keypoints and liveness are analysis, so their answer lives in result_json, not in a URL. Read status and task_id on the transform node before blaming this one.

    Media URL must be an Ace Data Cloud HTTPS CDN link. You pasted something that isn't Ace's CDN - a Google Drive share link, an imgur page, your own web server, a shortener. The hostname allowlist and the no-redirect rule both reject these, deliberately: it's the guard that stops a found node from being pointed at arbitrary internal addresses. Use the URL the service returned, unmodified.

    Download failures on a URL that looks right. Three retries happen on network errors, then it surfaces as a generic media download failure rather than hanging. If it keeps happening, confirm the link hasn't expired - these CDN links aren't permanent, and a stale one in a saved workflow is a very easy way to spend twenty minutes debugging the wrong thing.

    CategoryAce Data Cloud/Face Transform

    Inputs (1)

    NameTypeDefaultDescription
    media_urlSTRING—

    Outputs (1)

    NameTypeDescription
    imageIMAGE—