- Add XOR decryption function using same key as Video Combine Encrypt
- Add optional 'encrypt' boolean parameter (default: False)
- When enabled, decrypts image bytes in-memory before processing
- Supports all input sources: local files, HTTP URLs, and base64
- Backward compatible: default behavior unchanged
- Uses fast NumPy vectorized XOR operation
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Adds ShellAgentPluginInputImageArray node that accepts a ShellAgent-
compliant array of images and unpacks it into a batch tensor, an
image list, and an auto-detected count.
Schema (matches the pattern used by output_image and input_audio):
{"type": "array", "items": {"type": "string", "url_type": "image"}}
Inputs
- input_name, default_value (JSON array / object array / {items:[]} /
{images:[]} / newline-separated)
- Each item: HTTP(S) URL, base64 data URI, absolute path, or filename
relative to ComfyUI input dir
- resize_mode: resize_to_first | pad_to_first | none_keep_list_only
- min_items / max_items (propagated to ShellAgent schema)
Outputs
- images_batch (IMAGE, [N,H,W,C])
- masks_batch (MASK, [N,H,W])
- images_list (IMAGE, OUTPUT_IS_LIST, preserves original sizes)
- count (INT, auto-computed from len(items))
Covered by 12 E2E tests (JSON/object/wrapped/newline/base64/local-file
inputs, empty fallback, schema validation, all three resize modes).
- Implemented XOR encryption for image files in output_image.py, allowing users to save encrypted images.
- Introduced a new module output_video_encrypt.py for combining images into videos with optional encryption.
- Added encryption options in the save_images method and video combine functionality, ensuring output files cannot be viewed directly without decryption.