> ## Documentation Index
> Fetch the complete documentation index at: https://ailabtools.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Image Invisible Picture Watermark

> Image Invisible Picture Watermark API encodes or decodes hidden image and logo watermarks for copyright and asset protection.

export const FileStoragePolicy = ({uploadedFiles, responseType}) => {
  const responseFileData = {
    URL: {
      stored: "Yes",
      retention: "24 Hours",
      deletion: "Automatic"
    },
    BASE64: {
      stored: "No",
      retention: "N/A",
      deletion: "Immediate"
    }
  };
  if (!uploadedFiles && !responseType) return null;
  return <div>
      <table>
        <thead>
          <tr>
            <th>Data Type</th>
            <th>Stored</th>
            <th>Retention</th>
            <th>Training</th>
            <th>Deletion</th>
          </tr>
        </thead>
        <tbody>
          {uploadedFiles && <tr>
              <td>Uploaded Files</td>
              <td>No</td>
              <td>N/A</td>
              <td>No</td>
              <td>Immediate</td>
            </tr>}
          {responseType && responseFileData?.[responseType] && <tr>
              <td>Response Files ({responseType})</td>
              <td>{responseFileData[responseType]['stored']}</td>
              <td>{responseFileData[responseType]['retention']}</td>
              <td>No</td>
              <td>{responseFileData[responseType]['deletion']}</td>
            </tr>}
        </tbody>
      </table>

      <Tip>
        For more information, see the{" "}<a href="/docs/file-storage-policy">File Storage Policy</a> and{" "}<a href="https://www.ailabtools.com/privacy-policy" target="_blank">Privacy Policy</a>.
      </Tip>
    </div>;
};

export const BillingInstructions = ({creditsPerRequest = 1}) => {
  const creditUnitPrice = 0.0027;
  const billingTiers = [{
    price: 6,
    credits: 2000,
    costPerCredit: 0.003
  }, {
    price: 30,
    credits: 10000,
    costPerCredit: 0.003
  }, {
    price: 300,
    credits: 110000,
    costPerCredit: 0.0027
  }, {
    price: 1500,
    credits: 550000,
    costPerCredit: 0.0027
  }, {
    price: 2500,
    credits: 1000000,
    costPerCredit: 0.0025
  }];
  const formatCurrency = (value, fractionDigits = 2) => value.toLocaleString("en-US", {
    style: "currency",
    currency: "USD",
    minimumFractionDigits: fractionDigits,
    maximumFractionDigits: fractionDigits
  });
  const formatNumber = (value, fractionDigits = 0) => value.toLocaleString("en-US", {
    minimumFractionDigits: fractionDigits,
    maximumFractionDigits: fractionDigits
  });
  return <>
      <table>
        <thead>
          <tr>
            <th style={{
    textAlign: "right"
  }}>Price</th>
            <th style={{
    textAlign: "right"
  }}>Requests</th>
            <th style={{
    textAlign: "right"
  }}>Cost / Request</th>
          </tr>
        </thead>
        <tbody>
          {billingTiers.map(tier => {
    const requests = tier.credits / creditsPerRequest;
    const costPerRequest = tier.costPerCredit * creditsPerRequest;
    return <tr key={tier.credits}>
                <td style={{
      textAlign: "right"
    }}>{formatCurrency(tier.price)}</td>
                <td style={{
      textAlign: "right"
    }}>{formatNumber(requests)}</td>
                <td style={{
      textAlign: "right"
    }}>
                  {formatCurrency(costPerRequest, 4)}
                </td>
              </tr>;
  })}
        </tbody>
      </table>

      <Tip>
        Each successful API request consumes{" "}<strong>{creditsPerRequest} credits (≈{" "}{formatCurrency(creditUnitPrice * creditsPerRequest, 4)})</strong>. Failed requests are not billed.

        <ul>
          <li>
            View pricing on the{" "}<a href="https://www.ailabtools.com/price?tab=api" target="_blank">pricing page</a>{" "}or manage credits in the{" "}<a href="https://www.ailabtools.com/developer/billing" target="_blank">developer platform</a>.
          </li>
          <li>
            Need more credits or an enterprise plan? Contact{" "}<a href="mailto:business@ailabtools.com">business@ailabtools.com</a>.
          </li>
        </ul>
      </Tip>
    </>;
};

## Renderings show

| `function_type`   | `logo`          | `origin_image`                  | `watermark_image`                                         | `output_file_type` | `watermark_image_url`                                         | `logo_url`              |
| :---------------- | :-------------- | :------------------------------ | :-------------------------------------------------------- | :----------------- | :------------------------------------------------------------ | :---------------------- |
| `encode_pic`      | ![logo][logo-1] | ![origin image][origin_image-1] | -                                                         | `jpg`              | ![watermark image url][watermark_image_url-encode_pic-1]      | -                       |
| `encode_pic_plus` | ![logo][logo-1] | ![origin image][origin_image-1] | -                                                         | `jpg`              | ![watermark image url][watermark_image_url-encode_pic_plus-1] | -                       |
| `encode_pic_bold` | ![logo][logo-1] | ![origin image][origin_image-1] | -                                                         | `jpg`              | ![watermark image url][watermark_image_url-encode_pic_bold-1] | -                       |
| `decode_pic`      | -               | ![origin image][origin_image-1] | ![watermark image][watermark_image_url-encode_pic-1]      | -                  | -                                                             | ![logo url][logo_url-1] |
| `decode_pic_plus` | -               | -                               | ![watermark image][watermark_image_url-encode_pic_plus-1] | -                  | -                                                             | ![logo url][logo_url-1] |
| `decode_pic_bold` | -               | -                               | ![watermark image][watermark_image_url-encode_pic_bold-1] | -                  | -                                                             | ![logo url][logo_url-1] |

## Billing Instructions

<BillingInstructions creditsPerRequest={3} />

## File Storage Policy

<FileStoragePolicy uploadedFiles responseType="URL" />

## Application Scenarios

* **Copyright protection**: The author of the image enjoys the copyright according to the law. Adding invisible watermark to the image can prove the copyright ownership of the image for the author or authorized person of the image, and avoid the image being used illegally without the authorization of the author.
* **Preventing information leakage**: In the pictures of confidential information, different invisible watermarks are put on the pictures for different visitors. If the image is leaked, the source of the leak can be investigated by analyzing the invisible watermark.

## Featured Advantages

* **Concealed and reliable effect**: Invisible watermark compared with the traditional stamp watermark, which can not be detected by the viewer, does not affect the picture effect.
* **Resolvability**: The watermark is resolved through the image invisible image watermark interface to prove the copyright ownership of the image.

[logo-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/logo-1-min.png

[origin_image-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/origin_image-1-min.jpg

[watermark_image_url-encode_pic-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic-1-min.jpg

[watermark_image_url-encode_pic_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic_plus-1-min.jpg

[watermark_image_url-encode_pic_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/watermark_image_url-encode_pic_bold-1-min.jpg

[logo_url-1]: https://img.ailabtools.com/rapidapi/AddBlindImageWatermark/logo_url-1-min.png
