Nodes/FluxComfyUI/Flux Edit Image (Ace Data Cloud)
ComfyUI Node

Flux Edit Image (Ace Data Cloud)

Eight models in the dropdown, two of them actually work

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Flux Edit Image (Ace Data Cloud)
    • status
    • task_id
    • media_urls_json
    • first_media_url
    • result_json
    • trace_id
    ◄parameters_json{}►
    ◄model(from JSON/default)►
    ◄size►
    ◄count►
    ◄prompt►
    ◄image_url►
    ◄callback_url►

    "Change this photo" is the job nobody wants to do with a text-to-image model, and it's the one this node is for: it posts a prompt plus a reference image URL to Ace Data Cloud's hosted Flux editing endpoint and gives you the edited image back. It works well. It also has a dropdown that lies to you, so read the model section before you queue anything.

    The dropdown trap

    The model widget offers flux-dev, flux-pro, flux-kontext-pro, flux-kontext-max, flux-2-flex, flux-2-pro, flux-2-max, flux-2-klein. The pack's request builder then checks the model and rejects everything except flux-kontext-pro and flux-kontext-max with "Image editing requires a Kontext model." So six of those eight choices exist only because the API publishes one shared schema for generation and editing. If you pick flux-2-max - the smart-looking choice - you get an error, not an image.

    Default is flux-kontext-pro if you leave the widget on the sentinel, which is the sane starting point. Kontext is the 12B in-context editor of the Flux.1 era: the reference image goes into the model's context alongside the prompt rather than through an adapter, which is why it holds a subject's identity across successive edits, and why it got a reputation for removing watermarks, text and objects with unnerving efficiency. Max is the more expensive tier with better prompt adherence and typography.

    Inputs

    prompt - required. Write it like an instruction to whoever is retouching the photo, not like a tag list: "remove the logo from the jacket, keep the lighting and the grain identical."

    image_url - required by the validators; without it you get "Editing requires a reference image." Note what this means in practice: the API wants a publicly reachable URL, and this pack ships no upload node. Its Flux Load Image goes the other direction (Ace CDN → tensor). So to edit a photo from your input/ folder you first need it online somewhere, or reuse an Ace CDN URL from an earlier task. That's the single biggest friction point in this node, and it catches everyone once.

    model - see above. flux-kontext-pro or flux-kontext-max.

    size - must be an aspect ratio (1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16), not pixels. The default 1:1 is fine until your source is landscape, and then it isn't. Feed it a 1024x1024 string and the client refuses with "Kontext size must be an aspect ratio such as 1:1."

    count - how many variants, default 1. Billed per image, so resist the urge to set 8 while you're still tuning the prompt.

    callback_url, parameters_json - a webhook and an advanced JSON override. You'll probably never touch either.

    Outputs and the workflow

    The usual six: status, task_id, media_urls_json, first_media_url, result_json, trace_id. Submission is async, so the response is a task ID - even when it feels instant.

    Flux Edit Image → task_id → Flux Retrieve Task → first_media_url → Flux Load Image
    

    Then take that IMAGE wherever you like: another edit pass, an upscale, a save. Kontext chains are its party trick - change the shirt, then the background, then the lighting, in successive passes, with the subject staying put.

    Install

    ComfyUI Manager → search Flux → confirm publisher acedatacloud and package Flux by Ace Data Cloud (registry ID flux) → install → restart. Manual install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/AceDataCloud/FluxComfyUI
    python -m pip install -r requirements.txt
    

    Only requests and jsonschema; no models, no GPU. Then set ACEDATACLOUD_API_KEY (or ACEDATACLOUD_API_TOKEN) in the ComfyUI process environment and restart ComfyUI - keys in widgets leak into workflow JSON.

    Common issues

    "Image editing requires a Kontext model." You picked one of the six models the shared schema offers but the edit path won't take. Switch to kontext-pro or kontext-max.

    "Editing requires a reference image." image_url is empty. Nothing to edit.

    "Kontext size must be an aspect ratio such as 1:1." You passed pixels. Use the ratio matching your source.

    "Set ACEDATACLOUD_API_KEY…" The key isn't in the ComfyUI process environment. Yes, you have to restart after setting it.

    Empty first_media_url. Still pending. Query the same task ID rather than re-queueing - that node costs nothing, and the submit node costs money.

    Subject drifts or the color temperature shifts. The known weakness of Kontext-style editing: it looks realistic but doesn't hold a face the way the Qwen editors do, and it trends slightly warm. Prompt for what must not change, keep edits small and chained, and don't ask one call to do five things.

    Filtering. This runs on BFL's hosted tiers, so the content policy travels with the model. There's nothing to abliterate from a distance.

    One last honest note: if you own a GPU, Kontext Dev is downloadable and free, and the editing quality is close. This node earns its credits for the Pro and Max tiers and for machines that can't render at all.

    CategoryAce Data Cloud/Flux

    Inputs (7)

    NameTypeDefaultDescription
    parameters_jsonSTRING{}—
    modelCOMBO(from JSON/default)9 options: (from JSON/default), flux-dev, flux-pro, flux-kontext-pro, flux-kontext-max, flux-2-flex, +3
    sizeSTRING—
    countSTRING—
    promptSTRING—
    image_urlSTRING—
    callback_urlSTRING—

    Outputs (6)

    NameTypeDescription
    statusSTRING—
    task_idSTRING—
    media_urls_jsonSTRING—
    first_media_urlSTRING—
    result_jsonSTRING—
    trace_idSTRING—