> ## Documentation Index
> Fetch the complete documentation index at: https://docs.img-processing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Multi-Image Methods

> Work with multiple images

<ResponseField name="addWatermark">
  Applies watermarks to a specific image. Watermarks are a great way to protect your images from unauthorized use and to promote your brand.

  <CodeGroup>
    ```typescript node-sdk theme={null}
    addWatermark(imageID: string, body: ImageAddWatermarkParams, options?: RequestOptions): APIPromise<ImageObject>;
    ```
  </CodeGroup>

  <Expandable title="addWatermarkOptions">
    <ResponseField name="imageID" type="string" required>
      The unique identifier of the image to add a watermark to.
    </ResponseField>

    <ResponseField name="body" type="object" required>
      The body parameters for adding a watermark to the image.

      <Expandable title="ImageAddWatermarkParams">
        <ResponseField name="watermarks" type="array" required>
          An array of watermark objects to apply to the image

          <Expandable title="Watermark">
            <ResponseField name="id" type="string" required>
              The ID of the image to use as a watermark. Must be a valid image ID.
            </ResponseField>

            <ResponseField name="height" type="number">
              The height of the watermark in pixels. If not provided, the watermark will be applied at its original height.
            </ResponseField>

            <ResponseField name="left" type="number">
              The position of the watermark from the left of the image to apply the watermark. If not provided, the watermark will be applied at the left of the image.
            </ResponseField>

            <ResponseField name="repetition_mode" type="string">
              The repetition mode of the watermark. If not provided, the watermark will be applied once
            </ResponseField>

            <ResponseField name="top" type="number">
              The position of the watermark from the top of the image to apply the watermark. If not provided, the watermark will be applied at the top of the image.
            </ResponseField>

            <ResponseField name="width" type="number">
              The width of the watermark in pixels. If not provided, the watermark will be applied at its original width.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>

  <Expandable title="Examples">
    <CodeGroup>
      ```typescript node-sdk theme={null}
      const imageObject = await client.images.addWatermark('image_etm0g3x5iap4cld1qcfsjvo2', { watermarks: [{ id: 'id' }] });
      ```
    </CodeGroup>
  </Expandable>
</ResponseField>
