Kling IMAGE O1
The reference-driven image model with 'from input' sizes
- referenceImages
- advancedFeatures.watermark.image
- image
The tell is in the size dropdown. Kling IMAGE O1 offers 1k (from input) and 2k (from input) as its first options - this is a model designed around images you bring, not just words you type. It's Kuaishou's O-series image model, API-only, and this node puts it in ComfyUI where the output comes back as a plain IMAGE tensor you can preview, save, or feed forward into the rest of your graph.
Why you'd reach for it
If you live in the generate-a-frame, then-animate-it loop, O1 is built for the reference side of that loop. The referenceImages socket and the "from input" size presets are the model telling you how it wants to work: give it a source, let it produce at the source's resolution. Compared to the video nodes, image generation on Runware is also cheap enough that you can actually experiment here.
How it works
Generated Runware node, shared base class. Your optional referenceImages tensors are base64'd to PNG data URIs and sent with the required positivePrompt to the Runware REST API over the runware SDK; the result returns as a native IMAGE tensor. The size dropdown folds resolution into one choice - when set to a from input preset, the output matches your reference; when set to a 1K/2K preset, it renders at that aspect ratio. Cost and NSFW flag print on the title bar.
Inputs that matter
positivePrompt- required.referenceImages(IMAGE) - optional, but this model's whole point. Feed images for reference/guided generation.size-1k (from input),2k (from input), or the 1K/2K aspect grid (1:1, 3:2, 2:3, 4:3, 3:4, 9:16, 16:9, 21:9).numberResults(1–20) - variations per run; each one costs.outputFormat(JPG/PNG/WEBP),outputQuality(95).watermark- optional typed watermark input.safetygroup - content-check toggles.
Output: one image socket (IMAGE type).
Install and the API key
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Restart ComfyUI (or Runware via ComfyUI Manager). Key from the Runware dashboard → Settings → Runware API key, RUNWARE_API_KEY, or runware auth login.
Gotchas
referenceImagesis anIMAGEtensor - Load Image first, not a path or URL.- "From input" sizes only make sense when you've actually wired a reference; without one, pick a concrete preset.
numberResultsup to 20 is a serious bill if you let it run wide. Batch thoughtfully.- Closed Kuaishou model, per-request pricing, cost on the node. You're renting the weights, not owning them.
O1 is the "start from something you already have" node in Kling's image line. If your workflow is reference-in, generation-out, this is the one that matches how you think.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| referenceImagesopt | IMAGE | — | |
| advancedFeatures.watermark.imageopt | IMAGE | — | |
| sizeopt | COMBO | 1K (1:1) | Output size. Only one of resolution or dimensions is sent. |
| numberResultsopt | INT | 11–20 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| advancedFeaturesopt | BOOLEAN | false | Enable to set advancedFeatures. Off uses the model's default. |
| advancedFeatures.watermark.bgColoropt | STRING | Background color in hex format. | |
| advancedFeatures.watermark.displayPositionopt | COMBO | (default) | Watermark position. |
| advancedFeatures.watermark.fontColoropt | STRING | Text color in hex format. | |
| advancedFeatures.watermark.opacityopt | BOOLEAN | false | Enable to set advancedFeatures.watermark.opacity. Off uses the model's default. |
| advancedFeatures.watermark.opacity_valueopt | FLOAT | 0.100.1–1 | Watermark opacity. |
| advancedFeatures.watermark.textopt | STRING | Watermark text. | |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | JPG | File format for the generated image. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |