Skip to content

ComfyUI Node

The Certivu ComfyUI node signs generated images the moment they leave your graph — provenance exists before the image is ever exported. It wraps the certivu Python SDK, so signing happens server-side with ML-DSA and a resilient watermark.

Download and extract the node into your custom_nodes folder, then install its requirements:

Terminal window
cd ComfyUI/custom_nodes
curl -L https://cdn.certivu.ai/integrations/comfyui-latest.zip -o certivu-comfyui.zip
unzip certivu-comfyui.zip -d certivu-comfyui && rm certivu-comfyui.zip
pip install -r certivu-comfyui/requirements.txt

Restart ComfyUI. The Certivu Sign Image node appears under the Certivu category.

Wire Certivu Sign Image after your image output (e.g. a VAE Decode). It signs each image in the batch, saves the signed file to ComfyUI’s output directory, and passes the images through unchanged so you can chain it.

Inputs:

InputDescription
imagesThe image batch to sign.
modelModel name to record (e.g. flux-1.0).
generator_idA generator that supports the image format.
api_keyYour ctv_key_… key. Blank falls back to the CERTIVU_API_KEY env var.
base_urlDefaults to https://api.certivu.ai. Point at the sandbox to avoid quota.
filename_prefixOutput filename prefix (default certivu).

Outputs the passthrough images and a tokens string (one ctv_… token per image).

To avoid putting credentials in the graph, set CERTIVU_API_KEY and CERTIVU_GENERATOR_ID as environment variables and leave those inputs blank.

  • Each signed image counts against your plan quota. Use a sandbox base_url while building workflows.
  • The node raises a clear error in the UI if certivu isn’t installed or credentials are missing — it won’t silently no-op.