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

Hailuo Pro Text to Video

One prompt, one switch, no image required

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
Hailuo Pro Text to Video
    • video
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptHigh top angle wide mid close-up tracking shot, flying very fast two meters high over prehistoric ferns and moss-covered ground, dominated by a real young boy (pink t-shirt, pink shorts, white shoes, white long socks), with his back to the camera, body stretched out, gliding smoothly forward, flying in the air, casting a clear shadow on the terrain below. His legs and body are high above the surface, his feet not touching the ground, soaring in a Superman pose. The background is a vast Jurassic valley, filled with dense, ancient jungle vegetation and towering cycads. In the distance, rugged volcanic mountains rise with a winding path cutting through. Massive, slow-moving sauropods graze far off on the horizon. Large, fluffy white clouds float in the vibrant blue sky. Strong dynamic motion blur adds a vivid sense of high-speed flight and deep cinematic perspective. Realistic image –raw.►
    ◄prompt_optimizertrue►
    ◄nsfw_checkerfalse►
    ◄timeout_seconds1200►
    ◄callback_url►

    What it is

    The pure prompt-to-video endpoint of MiniMax's Hailuo 02 Pro tier, at KIE Next / Video / Hailuo. No image sockets, no duration picker, no resolution menu - you write a shot and it renders one. It's the simplest node in the pack's video folder, and the one that most rewards writing well.

    Where it's genuinely useful: storyboard beats, transitions, B-roll, "I need six seconds of something moving for this edit". Hailuo's closed service is one of the models people hold up when comparing against local video generation - the honest split is that local Wan or LTX costs nothing per run but eats an afternoon of tuning, and this costs a credit and takes a minute. Use the host to explore, use your card to refine.

    How it works

    The prompt goes to KIE's create-task endpoint; the node polls the task until it completes (up to timeout_seconds, default 1200 - remember these are video jobs, they take real time), downloads the MP4, and returns a native ComfyUI VIDEO. Nothing local, nothing uploaded, nothing to configure beyond the prompt and one flag.

    The inputs

    Two, really.

    prompt (required) - up to 1500 characters. The author's placeholder is a wall of camera direction ("high top angle wide mid close-up tracking shot, flying very fast two meters high…"), which is a fair hint at what this model wants. Motion, camera, subject, environment - in that register. Hailuo does not need art-historical adjectives; it needs geography and movement. If your prompt reads like a still image description, you'll get a still image that twitches.

    prompt_optimizer (default true) - the one switch worth understanding. On, the service rewrites your input before generation, which rescues short or sloppy prompts and can improve results on vague ones. Off, your text is used as written, which is what you want once you've learned what the model likes and you're doing controlled comparisons. If you're A/B-ing prompt phrasings, turn it off, or you're testing the optimizer instead of your prompt.

    Also present: nsfw_checker (default false, with the vendor's own caveat that disabling filtering means results come back as produced and nothing is guaranteed to be screened), timeout_seconds (1200, range 30–7200), and callback_url - leave that empty for normal ComfyUI use, it's for servers receiving KIE webhooks.

    Outputs

    video is the clip, as a ComfyUI VIDEO - feed SaveVideo, a preview node, or a muxer. url is the primary hosted result and all_urls_json carries every URL the task returned. task_id is the job handle: keep it if you plan to look the job up later with the pack's task-detail utility, or to chain into anything that takes a KIE task reference. raw_json is the provider's full response and the place to look when a task fails, since the node surfaces KIE's own failure message rather than a generic error. credits_consumed and credits_left report the cost and your balance, and are also printed on the node itself after a successful run - the simplest way to watch video spending without opening a billing page.

    Install

    Manager → KIE.ai Nodes Next; manually, clone the repo into ComfyUI/custom_nodes and install its requirements.txt in ComfyUI's Python environment:

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

    requests, Pillow, numpy, PyYAML. No weights, no VRAM. Restart, then save your KIE.ai key once under Settings → KIE.ai Nodes Next → Connection (validated before it replaces anything, masked afterwards, and KIE_API_KEY for headless). The node menu is generated from KIE's docs index on first launch and refreshed about daily, with one frontend reload during the first sync.

    Gotchas

    • This is the priciest thing in the folder per run. Text-to-video at Pro quality with no draft mode - nothing here is cheap, so write the prompt before you queue it, not after.
    • No duration or resolution control. Fixed by the tier. If you need those knobs, use the standard 02 text-to-video node instead; the pack ships it as a separate node.
    • prompt_optimizer on by default means your prompt isn't your prompt. Useful, and worth turning off when you're testing.
    • 1500 characters. The provider truncates; don't paste a screenplay.
    • VIDEO outputs need a current ComfyUI build - the pack uses comfy_api's file-backed video helper and tells you explicitly to update ComfyUI if it's missing.
    • No key → No KIE API key configured. That's the one-time Settings step, not your graph.
    CategoryKIE Next/Video/Hailuo

    Inputs (5)

    NameTypeDefaultDescription
    promptSTRINGHigh top angle wide mid close-up tracking shot, flying very fast two meters high over prehistoric ferns and moss-covered ground, dominated by a real young boy (pink t-shirt, pink shorts, white shoes, white long socks), with his back to the camera, body stretched out, gliding smoothly forward, flying in the air, casting a clear shadow on the terrain below. His legs and body are high above the surface, his feet not touching the ground, soaring in a Superman pose. The background is a vast Jurassic valley, filled with dense, ancient jungle vegetation and towering cycads. In the distance, rugged volcanic mountains rise with a winding path cutting through. Massive, slow-moving sauropods graze far off on the horizon. Large, fluffy white clouds float in the vibrant blue sky. Strong dynamic motion blur adds a vivid sense of high-speed flight and deep cinematic perspective. Realistic image –raw.The text prompt for video generation (Max length: 1500 characters)
    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—