photoshop_recipe_batch_watermark
Apply text or logo watermarks to every image in a folder and export JPEGs. Automates batch watermarking while leaving source files unchanged.
Instructions
Apply a text or logo watermark to every image in a folder and export watermarked JPEGs. Replaces the clunky record-an-action + File > Automate > Batch workflow.
Use when: the user wants to watermark many photos at once (copyright text, studio logo). Do NOT use when: watermarking a single open document (use photoshop_create_text_layer / photoshop_place_image directly) or removing watermarks (not supported).
Returns: { ok, summary, output_paths, details: { processed, failed: [{ file, error }] } }. Files that fail are skipped, not fatal.
Preconditions: assets_dir exists; either text or logo_path given. No active document required. Side effects: writes one JPEG per source image; source files are never modified.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Watermark text (e.g. "© Jane Doe 2026"). White, semi-transparent. Required unless logo_path is given. | |
| opacity | No | Watermark layer opacity 0-100. Default 40. | |
| quality | No | JPEG quality on the Photoshop 1-12 scale. Default 10. | |
| position | No | Watermark placement. Default bottom_right. | bottom_right |
| font_size | No | Text watermark size in pixels. Default 0 = auto (4% of each image height, min 8px). | |
| logo_path | No | Absolute path to a logo image (transparent PNG recommended). Required unless text is given. If both are given, text wins. | |
| margin_px | No | Distance from the chosen edge(s) in pixels. Default 24 (ignored for center). | |
| scale_pct | No | Logo watermark width as a percentage of image width (1-100). Default 15. Logo mode only. | |
| assets_dir | Yes | Absolute path to the folder of images to watermark. Subdirectories are NOT recursed. Allowed extensions: jpg/jpeg/png/tif/tiff/webp. | |
| document_id | No | Optional Photoshop document id from photoshop_get_state / photoshop_list_documents. When set, the tool activates that document before running so a UI tab switch cannot retarget the edit. |