Content Safety
A pre-flight NSFW check that costs pennies
- image
- text
This is the node you reach for when your workflow has to stay clean and you don't want to eyeball every image yourself. It takes an image or a video, sends it to Runware's content-safety model in the cloud, and hands you back a text verdict. No GPU, no local safety classifier to install, no wrestling a separate NSFW-detection model into your graph. Just "is this fine or not" as a string you can branch on.
It lives under Runware/Text/runware in the node menu, which tells you most of what you need to know: it's not an image node, it's a check. The output is a plain STRING (text), so wire it into a text display, a Runware Get-style extraction, or whatever your pipeline uses to decide what happens next. If you're building a public-facing bot or a batch job that must never leak, this is the guardrail slot.
How it works
Runware's platform runs the model for you over its inference API - the same REST path every node in this pack uses (taskType is caption, model AIR is runware:content-safety@1). You feed it media, it returns text. The one knob that matters is settings.mode:
fast(default) - the quick screen, good for most checks.full- the deeper pass, slower and (in principle) more thorough.
For a pre-flight check you'll almost always want fast. It's cheap and it gets you a yes/no signal without turning every run into a wait.
The node accepts either an image socket (native IMAGE tensor, straight from your sampler output) or a video input as a UUID or URL string. Feed one, not both.
Inputs that matter
Honestly, there are three inputs and you'll touch two:
image- your generated frame as anIMAGEtensor.video- a video UUID or URL instead, if you're checking moving content.settings.mode-fastorfull.
That's the whole interface. The simplicity is the point.
Installing it
This node ships inside the Runware/ComfyUI-Runware pack, so you install the pack once and get every node it contains. Easiest route is ComfyUI Manager: open the Custom Nodes Manager, search Runware, install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Then restart ComfyUI. Dependencies are light - runware-sdk, pillow, soundfile - and there are no model downloads, because nothing runs locally.
Gotchas
- You need a Runware API key. Grab one from the dashboard and set it in ComfyUI Settings → Runware API key, or export
RUNWARE_API_KEY, or runrunware auth loginonce. No key, no call - the node errors out with a message telling you exactly that. - It's a paid call. Every run costs a fraction of a cent, and the title bar shows the cost next to each result. If you're checking thousands of images, that adds up; the fast mode is your friend.
- It's a check, not a filter. The node returns a verdict as text; it won't block anything on its own. You wire the decision into your workflow.
If the node silently does nothing, check that your key is set and that you actually fed it media - an empty input produces an empty result, and the error may be quieter than you'd like.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| imageopt | IMAGE | — | |
| videoopt | STRING | Video input (UUID or URL). | |
| settings.modeopt | COMBO | fast | Safety checking mode for video generation. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |