Nodes/ComfyUI ARG Toolkit/Invisible Watermark Decode
ComfyUI Node

Invisible Watermark Decode

Hides a message of choice into the image. Utilizes discrete wavelet transform (DWT) and discrete cosine transform (DCT) by default, but also includes options for RivaGAN. - Library used: [invisible-watermark](https://github.com/ShieldMnt/invisible-watermark/) From my own testing, recommended algorithm choice is dwtDctSvd, which includes singular value decomposition to fortify it better at a slight cost of time. When converting to string, if the conversion fails, it will output the raw bytes representation instead.

By AzelusLightvale·Created 11 months ago·Updated 25 days ago· 1
Invisible Watermark Decode
  • images
  • STRING
length96
algorithm
types
encoding_format
other_encoding_format
CategoryARG Toolkit/Steganography

Inputs (6)

NameTypeDefaultDescription
imagesIMAGE
lengthINT961–2147483647
algorithmCOMBOIn order of appearance: - dwtDct: Discrete wavelet transform + Discrete cosine transform. Works, but unreliable. - dwtDctSvd (Recommended): Same as above, but includes singular value decomposition. - rivaGan: Uses a 32-bit RivaGAN implementation. Slow, experimental, and limited to 32 bits worth of information.
typesCOMBOIn order of appearance (and encoding length needed): - bytes (8 * total byte length): Transforms message from string to bytes. - b16 (4 * total b16 length): Text -> Byte representation -> Hexadecimal -> Byte representation. - bits (equivalent to array length): 8 bits = 1 byte. Good for transmitting small binary messages. - UUID (128 bits, fixed): Takes a UUID string and embeds that. Do not use to send messages. - IPv4 (32 bits, fixed): Takes an IPv4 address and embeds that.
encoding_formatCOMBOThe encoding format available for text, may yield different results when converting.
other_encoding_formatoptSTRINGIf, for some reason, your chosen encoding format is not available in the dropdown, select "Other" in encoding_format and type in your encoding format here. Supports all format written in Python's `encoding` module.

Outputs (1)

NameTypeDescription
STRINGSTRING