Nodes/KIE.ai Nodes Next/Extend Veo3.1 Video · lite
ComfyUI Node

Extend Veo3.1 Video · lite

Cheap extra seconds, and when they're worth it

By felipederosilva·Created 2 months ago·Updated 5 days ago· 3
Extend Veo3.1 Video · lite
    • video
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄task_idveo_task_abcdef123456►
    ◄promptThe dog continues running through the park, jumping over obstacles and playing with other dogs►
    ◄seeds12345►
    ◄watermarkMyBrand►
    ◄timeout_seconds1200►
    ◄callback_url►

    Extending a Veo clip is billed per extension, at the tier you pick. The lite tier is the cheapest of the three, and the honest use case is short: you need a couple more seconds to land the beat, you don't need it to be reference-quality, and you'd rather spend the difference on the next shot instead.

    Veo 3.1 itself is the model that made native audio the reason people tolerate paying for video - dialogue that syncs without an overdub pass, per the KB's read on the closed video stack. Lite keeps the audio behaviour but strips the cost. For previz, social cuts, or the second half of a shot where nothing new happens, it's the sane tier.

    What the node does

    You feed it the task_id of an existing Veo3.1 generation, a prompt describing what happens next, and it submits a KIE Market job at the lite tier, polls until the job reports success, downloads the file and hands it back as a native VIDEO. The tier is fixed in the node - that's why the folder holds three near-identical Extend nodes instead of one with a dropdown.

    The extension continues from your existing clip rather than re-rendering it, so the previous generation must still exist on KIE's side. Chain the new task_id output into another Extend node if you want a third chunk; the drift compounds each time, so two or three links is usually the practical ceiling before it starts looking like a different scene.

    Inputs

    • task_id - required. The task ID from a Veo3.1 generation, not a URL and not a local file. The default is a docs placeholder (veo_task_abcdef123456); wire the real one in from your generate node's task_id output.
    • prompt - required. Describe the continuation as motion: subject, action, camera. Don't re-describe the whole world or you'll get a soft reframe.
    • seeds - plural, 10000–99999, default 12345. Same seed and prompt trends toward similar motion. It is not a reproducibility lock.
    • watermark - defaults to MyBrand. Delete it. Anything non-empty gets burned into your video, and yes, people ship clips with "MyBrand" across the corner because they never looked at the widget.
    • timeout_seconds - 1200 default. Queues happen; raise it before assuming a hang.
    • callback_url - leave blank for ComfyUI use.

    Outputs: video, url, all_urls_json, task_id, raw_json, credits_consumed, credits_left. Send video into KIE • Preview Video or KIE • Save Video - remember the node only runs if something downstream consumes its output.

    Install

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

    Or ComfyUI Manager, search "KIE.ai Nodes Next". Requirements: requests, Pillow, numpy, PyYAML. No checkpoints, no GPU work. Then paste your KIE key once into Settings → KIE.ai Nodes Next → Connection; it's verified against KIE before it replaces a working key and stored outside your workflow files.

    Straight talk on when lite is a mistake

    Two cases. If the clip is going to be a hero shot in a finished edit, extending it at lite can leave a visible quality step between the original chunk and the extension - the seam is not just motion drift, it's fidelity. Extend at the tier the original was rendered at, or render the shot in one go.

    The second: extending as a substitute for planning. Four lite extensions still cost more than one well-planned eight-second shot rendered twice at the tier you actually wanted. Decide the beats on paper first.

    And the mechanical gotchas, which are the same for all three tiers: stale task IDs fail at the provider with an unhelpful message; the node submits a paid job the moment it executes; and if KIE doesn't report task-level spend, the credits figure shown is calculated from the balance difference and labelled an estimate - so don't build a budget on credits_consumed alone.

    CategoryKIE Next/Video/Veo3.1

    Inputs (6)

    NameTypeDefaultDescription
    task_idSTRINGveo_task_abcdef123456The task ID of the original video generation. Must be a valid task ID returned by the video generation API.
    promptSTRINGThe dog continues running through the park, jumping over obstacles and playing with other dogsA text prompt describing the content of the extended video. It should detail how you want the video to be extended, including actions, scene changes, styles, etc.
    seedsoptINT1234510000–99999A random seed parameter that controls the randomness of the generated content. Range: 10000-99999. The same seed will generate similar video content, while different seeds will generate different video content. If not specified, the system will automatically assign a random seed.
    watermarkoptSTRINGMyBrandWatermark text (optional). If provided, a watermark will be added to the generated video.
    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—