Nodes/KIE.ai Nodes Next/Hailuo Standard Text to Video
ComfyUI Node

Hailuo Standard Text to Video

The cheap six-second clip in your graph

By felipederosilva·Created about a month ago·Updated a day ago· 3
Hailuo Standard Text to Video
    • video
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptA llama and a raccoon battle it out in an intense table tennis match, inside a roaring Olympic stadium. Slow-mo, wild angles, full comedy mode.►
    ◄duration6►
    ◄prompt_optimizertrue►
    ◄nsfw_checkerfalse►
    ◄timeout_seconds1200►
    ◄callback_url►

    Hailuo is MiniMax's video service - one of the closed, hosted video models the community name-drops next to Kling and Veo when someone asks "what made this?" It has no downloadable weights, so there is no local option at any VRAM. This node is the standard (cheapest) text-to-video tier of the Hailuo 02 generation, exposed as a first-class ComfyUI node instead of a form you fill in on a website.

    What it actually is

    The node is an HTTP client wearing a ComfyUI costume. You give it a prompt; it uploads nothing (there's no image here) and submits a job to KIE's /api/v1/jobs/createTask endpoint, polls until the task reports success, downloads the resulting MP4, and hands you a native VIDEO object. Your prompt goes to a server, and you're billed per generation - that's the deal with every node in this pack.

    Where it fits: you've got a local image or video pipeline, and you want a shot that no open model will give you at your VRAM, or you want a six-second draft before committing to anything expensive. For a still, use an image node in the same pack instead - this one only takes text.

    The inputs you'll actually touch

    prompt is the one required field, and note the cap: 1500 characters, the shortest prompt limit of any node in this pack. Long, spec-heavy prompts get truncated or rejected, so write tight - subject, action, camera, light.

    duration is a two-item dropdown, 6 or 10 seconds. There is no resolution field on this node, so the "10-second videos are not supported at 1080p" caveat in its help text is informational, not something you control here.

    prompt_optimizer defaults to true, and it does what it says: the model rewrites your prompt before generating. Great for three-word ideas, actively annoying when you've carefully written camera language - it will "improve" your deliberate choices. Turn it off when your prompt is already the prompt.

    nsfw_checker defaults to false, which the tooltip spells out as KIE's content filtering being off. Read that honestly: it means results come back unfiltered rather than that anything goes. The upstream model still does whatever it does, and you're still on the hook for KIE's terms.

    timeout_seconds (default 1200, i.e. 20 minutes) is how long the node will sit and poll. There's also callback_url, which you leave empty for normal ComfyUI use.

    There's no seed on this node, so a re-run is a fresh roll rather than a reproduction - worth knowing before you queue the same thing twice hoping for the same clip.

    Outputs

    video is the one you wire onward - to a Video Combine or a save node. The rest are bookkeeping: url (the primary result), all_urls_json (every URL the provider returned), task_id (KIE's job id, useful in a support ticket), raw_json, and credits_consumed / credits_left as floats. The node also prints a "Credits spent … Credits left …" receipt in the UI, and credits_left comes back as -1 if the balance service is down.

    Install

    The pack is one install for all of its nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    cd ComfyUI-KIE-Nodes-Next
    pip install -r requirements.txt
    

    Then restart ComfyUI. Dependencies are requests, Pillow, numpy and PyYAML - nothing exotic, and no model files to download, because the model isn't local. Search "KIE" in ComfyUI Manager if you like, but the README's own wording about the registry route is future tense, so the clone above is the path that works today. There's also a Windows one-click installer in dist/.

    Next: get a key. Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. It's validated against KIE before it overwrites anything, you get a masked fingerprint (not the key) back, and it never enters workflow JSON. Headless servers can use KIE_API_KEY, which takes priority over the saved key.

    Things that go wrong

    "KIE model ID has not been resolved yet. Refresh the live catalog once." The pack builds its nodes from KIE's own API docs, and on a first launch with no network it falls back to a bundled catalog. Run the Catalog Sync node under KIE Next / Utility, then reload.

    The timeout doesn't cancel anything. If the node errors with "Timed out waiting for KIE task …", the job is still running on KIE's side and you've already paid for it. The error includes the task_id; the Task Status utility node can pick it back up.

    A rerun with identical inputs costs nothing. These nodes don't override ComfyUI's caching, so the same graph queued twice returns the cached result instead of submitting a paid job. Change the prompt to actually re-roll.

    VIDEO output needs a recent ComfyUI. If you see "Your ComfyUI build does not expose comfy_api.latest.InputImpl.VideoFromFile. Update ComfyUI," that's a genuinely old install, not a KIE problem.

    And the honest one: this is the standard tier. The Pro text-to-video sibling in the same folder costs more and looks better - iterate here, switch up for the shots you keep.

    CategoryKIE Next/Video/Hailuo

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRINGA llama and a raccoon battle it out in an intense table tennis match, inside a roaring Olympic stadium. Slow-mo, wild angles, full comedy mode.Text description for video generation (Max length: 1500 characters)
    durationoptCOMBO6The duration of the video in seconds. 10 seconds videos are not supported for 1080p resolution.
    prompt_optimizeroptBOOLEANtrueWhether to use the model's prompt optimizer (Boolean value (true/false))
    nsfw_checkeroptBOOLEANfalseDefaults to false. You can set it to false based on your needs. If set to false, our content filtering will be disabled, and all results will be returned directly by the model itself. Note: There is no guarantee that everything can be filtered out; if you are not satisfied with the results, you will need to make your own arrangements.
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    videoVIDEO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—