ComfyUI Node

Seedream 5.0 Flash

The fastest tier of a closed image line

By Runware·Created 2 years ago·Updated 24 days ago· 142
Seedream 5.0 Flash
  • referenceImages
  • advancedFeatures.watermark.image
  • image
◄positivePrompt►
◄sizeCustom (set width and height)►
◄width1024►
◄height1024►
◄numberResults1►
◄advancedFeaturesfalse►
◄advancedFeatures.watermark.bgColor►
◄advancedFeatures.watermark.displayPosition(default)►
◄advancedFeatures.watermark.fontColor►
◄advancedFeatures.watermark.opacityfalse►
◄advancedFeatures.watermark.opacity_value0.10►
◄advancedFeatures.watermark.text►
◄settings.backgroundopaque►
◄settings.layerDecompositionfalse►
◄safetyfalse►
◄safety.checkContentfalse►
◄ttlfalse►
◄ttl_value60►
◄outputFormatJPG►
◄outputQuality95►

What you're actually calling

ByteDance is the clearest example of a pattern worth internalising: the company that supplies a huge amount of the open stack - Depth Anything, SDXL-Lightning, PuLID, the Apache 2.0 Bernini - keeps its best media models closed. The entire Seedream image line and the Seedance video line are API-only. There is no Seedream checkpoint to download, ever, and the community notes this with more resignation than anger.

So Seedream 5.0 Flash is a phone call, not a file. Within the 5.0 family the pack also ships Pro and Lite, and Flash is the tier you reach for when you want a good image quickly without paying Pro-tier money for a composition check. That's the practical framing: Flash for iteration, Pro for the final, Lite when you're doing something cheap and dumb at volume.

The API-node caveats are the same ones this whole pack carries. Your prompt leaves the machine, every image is metered, and the content filter is ByteDance's.

How it works

The node builds a bytedance:[email protected] imageInference request, inlines any wired IMAGE as a base64 PNG data URI, posts it through the Runware SDK over REST, downloads the returned imageURL, and hands back a torch IMAGE tensor. Dependencies are runware-sdk, pillow and soundfile - nothing loads into VRAM, nothing gets downloaded to models/.

The key comes from RUNWARE_API_KEY, else ComfyUI Settings, else ~/.runware/config.yaml. Cost and NSFW status print on the title bar after the run.

The inputs worth knowing about

This is the one node in the batch with no required inputs at all. positivePrompt is optional in the schema, which is odd until you notice referenceImages also being optional: you can run it as reference-driven work with no text, or text work with no reference.

  • size - a dropdown with None (model default), 1K (from input), 1.5K (from input), 2K (from input), and Custom (set width and height) (the default). The "from input" options resolution-match your reference image, which is the tidy way to do edit-style work without choosing numbers. Only one of resolution or dimensions is ever sent.
  • width / height - 1024 each by default, used when the size choice is Custom.
  • referenceImages - an IMAGE, wired directly.
  • settings.background - opaque or transparent. Transparent is the one people actually want: cut-out-ready output without a background-removal pass chained after.
  • settings.layerDecomposition - decomposes the reference image and returns the layers in outputs.layers beside the base image (layers are always PNG). Be honest about this one: this node's output is a single IMAGE (the base image), so the layers aren't wired anywhere on the canvas. If you want them, the raw JSON route is Runware (custom) plus Runware Get on the response.
  • numberResults (1–20) - batched frames on one IMAGE output.

Note what's missing: there is no seed input on this node. If you're used to pinning a seed and re-rolling, you can't here, so treat variations as the model's business and lean on numberResults instead.

Installing it

ComfyUI Manager → search Runware → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

Then ComfyUI Settings → Runware API key, or export RUNWARE_API_KEY. Runware bills by top-up with a card on file.

Where people get burned

  • "It ignores my prompt." With size: Custom and no referenceImages, you're doing plain text-to-image and it works; with a reference wired in, your prompt is closer to a steering hint. Decide which mode you're in before blaming the prompt.
  • Expecting the layer files on the canvas. settings.layerDecomposition puts them in the response, not on the node's output.
  • Batch confusion. numberResults above 1 gives one IMAGE with N frames; downstream nodes that expect a single image will look broken.
  • No seed, no reproducibility. Re-running the same prompt gives you a different image by design.
  • No Runware API key verbatim, or a one-line Runware: … [parameter 'height', code …, HTTP 400] for an out-of-range value. Set RUNWARE_DEBUG if you want the stack.
CategoryRunware/Image/bytedance

Inputs (22)

NameTypeDefaultDescription
referenceImagesoptIMAGE—
advancedFeatures.watermark.imageoptIMAGE—
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
sizeoptCOMBOCustom (set width and height)Output size. Only one of resolution or dimensions is sent.
widthoptINT1024Width of the generated media in pixels.
heightoptINT1024Height of the generated media in pixels.
numberResultsoptINT11–20Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
advancedFeatures.watermark.bgColoroptSTRINGBackground color in hex format.
advancedFeatures.watermark.displayPositionoptCOMBO(default)Watermark position.
advancedFeatures.watermark.fontColoroptSTRINGText color in hex format.
advancedFeatures.watermark.opacityoptBOOLEANfalseEnable to set advancedFeatures.watermark.opacity. Off uses the model's default.
advancedFeatures.watermark.opacity_valueoptFLOAT0.100.1–1Watermark opacity.
advancedFeatures.watermark.textoptSTRINGWatermark text.
settings.backgroundoptCOMBOopaqueBackground handling in generated images.
settings.layerDecompositionoptBOOLEANfalseEnables layer decomposition of the reference image. The layers are returned in `outputs.layers` next to the base image. `outputFormat` applies to the base image only, layers are always PNG.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking. Increases total generation time.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOJPGFile format for the generated image.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
imageIMAGE—