Nodes/KIE.ai Nodes Next/Seedream3.0 - Text to Image
ComfyUI Node

Seedream3.0 - Text to Image

The poster model, and the one dial it has

By felipederosilva·Created about a month ago·Updated a day ago· 3
Seedream3.0 - Text to Image
    • image
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptA 2D flat art style campsite poster with the text “Kie AI Seedream 3.0 API”. The scene includes mountains, brown tents under a sunny sky, a rabbit, a deer, some birds, green grass, and a flowing river, all illustrated in clean vector art.►
    ◄image_sizesquare_hd►
    ◄guidance_scale2.50►
    ◄seed0►
    ◄timeout_seconds1200►
    ◄callback_url►

    Seedream is ByteDance's image line - closed, hosted, no weights - and 3.0 is the plain text-to-image endpoint. Its reputation is typography and layout: logos, posters, infographics, anything where the letters have to come out right. The node's own default prompt is a flat-art campsite poster with "Kie AI Seedream 3.0 API" written on it, which tells you what the author thinks it's for, and they're not wrong.

    Where it sits in your workflow: this is the "I need a designed-looking asset with legible text" node, and it's the one hosted image call I'd argue is doing something your local setup genuinely can't. Open models got very good at generating images in 2026; getting three lines of correct text in a consistent layout without inpainting an eleven-step repair loop is still a hosted-model strength.

    Inputs and outputs

    prompt is the only required input - multiline, up to 5,000 characters per the docs. Be literal: describe the layout, name the text you want rendered, say where it goes. Vague prompts get you a nice poster with smeared gibberish where the words should be.

    image_size is an enum, not a pixel field: square_hd (default), square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9. Pick by aspect; there's no width/height pair to fight with, which is a small mercy compared to local EmptyLatentImage arithmetic.

    guidance_scale is the real dial - FLOAT, default 2.5, range 1 to 10. It measures how hard the output is pushed toward your prompt. Low values drift creative and loose; high values obey literally and get brittle, and past roughly 7 you start losing composition coherence for the sake of tag compliance. For posters with required text, push up; for moody illustration, pull down. seed gives reproducibility, and timeout_seconds (default 1200) plus callback_url are the standard shared fields - leave the callback empty for normal ComfyUI use.

    Outputs: image (a native ComfyUI IMAGE socket, so your local upscalers, mask nodes and savers don't care that it came from the cloud), plus url, all_urls_json, task_id, raw_json, and credits_consumed / credits_left. The node also shows credits spent and remaining balance after each run.

    The seed trap that eats people

    seed in ComfyUI is a widget with a companion control mode, and the default behaviour across frontends is to change it between runs so you don't get the same image twice. That's fine until you want a reproduction. If you found a seed worth keeping, set the seed widget's control-after-generate mode so the value is used before generation rather than being re-rolled after - otherwise you'll "reproduce" your keeper and get something new, and conclude the hosted model isn't deterministic. It's a core-ComfyUI mechanic, not a bug in this pack, and it catches someone in every thread about seeds.

    Install

    Manager → search KIE.ai Nodes Next (publisher id felipeosilva) → install. If Manager comes up empty - the README's registry publishing is described as prepared rather than shipped - clone it:

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

    Restart ComfyUI. Requirements are requests, Pillow, numpy, PyYAML - genuinely light, and there are no checkpoint downloads because nothing runs locally. Windows users can run the one-click .vbs installer from dist/. Set the API key once under Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key; it's validated before it overwrites a saved key, and the full key never appears in workflow JSON. Headless installs can use KIE_API_KEY instead, which takes priority.

    Gotchas

    It's metered and it's not private. Every image costs credits, and your prompt leaves the machine - the same trade as any API node: a capability you can't run locally, at per-call prices with your inputs going to a third party. For plain text-to-image with no text-rendering requirement, your local checkpoints are free and you already have them.

    Your prompt, not the widget, decides the image count. Seedream 3.0's image_size sets shape; multiple outputs are what the 4.0 nodes' max_images handles, and even there the tooltip warns that the number has to be stated in the prompt as well. Don't expect a batch from this node.

    Node fields don't match a guide? Run KIE • Refresh Model Catalog. These nodes are generated from KIE's live docs, so the widget set tracks the documentation - including quirks you'd rather they fixed.

    CategoryKIE Next/Image/ByteDance/Seedream

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRINGA 2D flat art style campsite poster with the text “Kie AI Seedream 3.0 API”. The scene includes mountains, brown tents under a sunny sky, a rabbit, a deer, some birds, green grass, and a flowing river, all illustrated in clean vector art.The text prompt used to generate the image (Max length: 5000 characters)
    image_sizeoptCOMBOsquare_hdSelect description
    guidance_scaleoptFLOAT2.501–10Controls how closely the output image aligns with the input prompt. Higher values mean stronger prompt correlation. (Min: 1, Max: 10, Step: 0.1) (step: 0.1)
    seedoptINT0-2147483648–2147483647Random seed to control the stochasticity of image generation.
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

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