Nodes/VeoComfyUI/Veo Ingredients to Video (Ace Data Cloud)
ComfyUI Node

Veo Ingredients to Video (Ace Data Cloud)

Three references, and a model you can't change

By AceDataCloud·Created 3 days ago·Updated 2 days ago· 0
Veo Ingredients to Video (Ace Data Cloud)
    • status
    • task_id
    • video_url
    • trace_id
    ◄promptBlend these references into one cinematic scene.►
    ◄image_urls►
    ◄model▾►
    ◄resolutiondefault►
    ◄translationfalse►

    Keeping the same character, outfit or object across generations is the most-asked unsolved problem in this whole hobby, and the industry's answer quietly changed: instead of encoding a character and injecting it, you now hand the model references and let it edit. "Ingredients to Video" is Google's version of that idea for video - you feed it up to three images and it blends them into one shot.

    It's the most opinionated node in the pack, and the opinion is baked in: one model, no aspect ratio, no substitutions.

    How it works

    Under the hood it POSTs action: ingredients2video to /veo/videos, with async: true, and returns a task ID like every other submission node here. Your reference images are fetched from their public HTTPS URLs by Ace's servers and passed to Veo as conditioning - think "these are the things in the scene," not "this is the first frame." The result is a new shot that contains those elements, which is a different job from what Image to Video does with its first and last frame.

    The client validates the URLs the same way everywhere in this pack: https only, no credentials in the URL, no localhost, no private IPs, up to three images here (Image to Video caps at two), duplicates collapsed. One per line, or a JSON array.

    Why it's the locked node

    model has exactly one choice: veo31-fast-ingredients. You cannot switch it, and the client will refuse the other four model names with a specific error if you try to wire something else in. That's not the author being lazy - this capability only exists on that model ID, and the node is honest about it.

    Same story for the missing inputs. There's no aspect_ratio widget here at all (that's Image to Video's), and no camera controls. You get:

    • prompt - default "Blend these references into one cinematic scene." Say what the scene is and how the references relate; that's the part the model needs from you.
    • image_urls - 1 to 3 public HTTPS URLs. Order is the order you put them in, so be deliberate about which is the subject and which are supporting elements.
    • resolution - default, 1080p, 4k, gif. default is the low tier. This model is already a veo31 variant, so 4k is accepted here - one of the few places it is.
    • translation - boolean, default off, passed straight through to the API.

    Outputs: status, task_id, video_url, trace_id. A fresh submission returns pending with an empty video_url; take the task_id to Veo Retrieve Task, then feed the resulting video_url to Veo Load Video.

    Install and key

    ComfyUI Manager → Custom Nodes → search Veo → publisher acedatacloud, package Veo by Ace Data Cloud → install, restart. Or, manually:

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

    The whole dependency tree is requests>=2.31,<3. Nothing downloads, nothing needs a GPU - the work happens on someone else's hardware, which is also why your reference images have to leave your machine. Set the key in the ComfyUI process environment and restart:

    export ACEDATACLOUD_API_KEY='paste-your-key-here'
    python main.py
    

    Where people get burned

    The reference URLs are the real friction, same as every other image-input node in this pack. Local files, ComfyUI output paths, data: blobs and http:// links are all rejected. Get yourself one HTTPS-hosting habit - a public bucket or CDN - before you start, because you'll retype this constantly.

    Then there's the follow-up trap: this model doesn't play with the rest of the pack evenly. The upscale and 1080p nodes accept only the standard model list, so a video made here has to go through Veo Upsample rather than the get-1080p action, and Extend won't touch it at all. Plan the resolution up front instead of hoping to fix it after.

    And the usual: this is a paid, one-shot submission. It's an output node, so it runs on Queue Prompt whether or not anything downstream is listening - mute it while you're setting up references. Retrieve with the same task ID rather than resubmitting, and if a submission errors or times out, check your Ace request history before spending again.

    CategoryAce Data Cloud/Veo

    Inputs (5)

    NameTypeDefaultDescription
    promptSTRINGBlend these references into one cinematic scene.—
    image_urlsSTRING—
    modelCOMBO1 options: veo31-fast-ingredients
    resolutionCOMBOdefault4 options: default, 1080p, 4k, gif
    translationBOOLEANfalse—

    Outputs (4)

    NameTypeDescription
    statusSTRING—
    task_idSTRING—
    video_urlSTRING—
    trace_idSTRING—