Nodes/FluxComfyUI/Flux Video (Ace Data Cloud)
ComfyUI Node

Flux Video (Ace Data Cloud)

FLUX 3 by the second, from the fiddliest node in the pack

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Flux Video (Ace Data Cloud)
    • status
    • task_id
    • media_urls_json
    • first_media_url
    • result_json
    • trace_id
    ◄parameters_json{}►
    ◄model(from JSON/default)►
    ◄action(from JSON/default)►
    ◄prompt►
    ◄aspect_ratio►
    ◄duration►
    ◄resolution►
    ◄version►
    ◄generate_audio►
    ◄safety_tolerance►
    ◄draft►
    ◄mode►
    ◄callback_url►
    ◄keyframes►
    ◄start_video►
    ◄draft_task_id►

    This is the pack's video node, and it is aimed at exactly one model: flux-3. No local fallback exists - BFL shipped FLUX 3 as gated early access with the open-weight backbone only promised for later, so unlike Flux 2 Klein you can't shrug and run it yourself. If you want FLUX 3 video, you call it.

    What it is, and what a call gets you

    FLUX 3's headline claim is one model trained jointly across image, video and audio, with native dialogue and sound effects in the generation rather than bolted on. Video is the capability that actually shipped first: clips up to 20 seconds with optional native audio, and prompt, image and video inputs for conditioning. The examples that circulated were genuinely startling, and they were all the paid API - the same caveat applied to every thread about them. Expect a real per-second cost, and expect to queue rather than wait.

    Inputs

    The node is the most configuration-heavy of the five tool nodes, and the fields are plain text widgets rather than dropdowns (except model and action):

    prompt - required. Describe the shot, the motion and the sound if you want sound.

    mode - defaults to t2v. Valid values are t2v, i2v, v2v and draft_enhance, and the mode decides which other fields become mandatory:

    • t2v - text to video. Prompt and mode, nothing else required.
    • i2v - image to video. Also requires keyframes: a JSON array of [time, url] pairs, e.g. [[0, "https://..."], [5, "https://..."]].
    • v2v - video to video. Also requires start_video, a URL.
    • draft_enhance - takes a draft_task_id and a resolution, and upgrades an existing draft.

    aspect_ratio - 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16, 9:21, or auto.

    duration - 5 to 20 seconds (auto also works). For v2v the ceiling drops to 15.

    resolution - hd, fhd, qhd, uhd. The most direct cost lever you have.

    generate_audio - type true for a soundtrack, leave empty for silent. Since these are text fields, True or yes will fail contract validation - lowercase booleans.

    safety_tolerance - integer 0–4. Higher is looser; this is a hosted filter you cannot patch around, only nudge.

    draft - true produces a cheap draft you can then finish with mode: draft_enhance and draft_task_id. The only honest way to iterate on a video budget: draft, look, then enhance, instead of paying top rate for every dead end.

    version - latest. callback_url - webhook, optional. parameters_json - the advanced override all these nodes share.

    Workflow

    Video jobs are slow, and the client submits them async regardless, so you get a task_id immediately:

    Flux Video → task_id → Flux Retrieve Task (wait_seconds 240) → first_media_url → Flux Load Video
    

    That 240-second ceiling is the node's hard limit and often shorter than a video render. First retrieve times out at pending; re-queue the retrieve node with the same ID (free) rather than the submit node (not free). first_media_url goes into Flux Load Video, which needs ComfyUI 0.39.0+ for the native VIDEO type and refuses files over 128 MiB - relevant if you asked for uhd.

    Install

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

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

    Dependencies are requests and jsonschema. Set ACEDATACLOUD_API_KEY (or ACEDATACLOUD_API_TOKEN) in the ComfyUI process environment and restart, so the key stays out of workflow JSON.

    Common issues

    Contract errors naming a field you didn't fill. Your mode picked a branch that requires more: keyframes for i2v, start_video for v2v, draft_task_id for draft_enhance. The validator runs before the request, so these failures cost nothing.

    "Invalid keyframes: does not meet the API's required constraint." The field wants JSON, not a bare URL. Use [[0, "https://..."]], and remember it's a string widget, so the quotes matter.

    true rejected as a boolean. Text widgets do not accept True, Yes or 1 here. Lowercase true/false.

    Duration rejected. 5–20 for text-to-video and image-to-video, 5–15 for video-to-video.

    Status stuck at pending. Normal for a 15-second render. Retrieve again.

    The loader throws "Task is pending; retrieve the same task ID again." You wired a still-empty first_media_url. Harmless, and the message is accurate.

    The take, if you want one: for a model with no open weights the API route is the only door, and this node is a reasonable key to it. Just draft before you commit - per-second video billing punishes experimentation in a way image credits never do.

    CategoryAce Data Cloud/Flux

    Inputs (16)

    NameTypeDefaultDescription
    parameters_jsonSTRING{}—
    modelCOMBO(from JSON/default)2 options: (from JSON/default), flux-3
    actionCOMBO(from JSON/default)2 options: (from JSON/default), generate
    promptSTRING—
    aspect_ratioSTRING—
    durationSTRING—
    resolutionSTRING—
    versionSTRING—
    generate_audioSTRING—
    safety_toleranceSTRING—
    draftSTRING—
    modeSTRING—
    callback_urlSTRING—
    keyframesSTRING—
    start_videoSTRING—
    draft_task_idSTRING—

    Outputs (6)

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