> ## 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 Text Watermark

> Image Invisible Text Watermark API encodes or decodes hidden text watermarks for image ownership and content 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`    | `text`     | `origin_image`                  | `watermark_image`                                              | `output_file_type` | `watermark_image_url`                                          | `text_image_url`                                 |
| :----------------- | :--------- | :------------------------------ | :------------------------------------------------------------- | :----------------- | :------------------------------------------------------------- | :----------------------------------------------- |
| `encode_text`      | `AILabAPI` | ![origin image][origin_image-1] | -                                                              | `jpg`              | ![watermark image url][watermark_image_url-encode_text-1]      | -                                                |
| `encode_text_plus` | `AILabAPI` | ![origin image][origin_image-1] | -                                                              | `jpg`              | ![watermark image url][watermark_image_url-encode_text_plus-1] | -                                                |
| `encode_text_bold` | `AILabAPI` | ![origin image][origin_image-1] | -                                                              | `jpg`              | ![watermark image url][watermark_image_url-encode_text_bold-1] | -                                                |
| `decode_text`      | -          | ![origin image][origin_image-1] | ![watermark image url][watermark_image_url-encode_text-1]      | -                  | -                                                              | ![text image][text_image_url-encode_text-1]      |
| `decode_text_plus` | -          | -                               | ![watermark image url][watermark_image_url-encode_text_plus-1] | -                  | -                                                              | ![text image][text_image_url-encode_text_plus-1] |
| `decode_text_bold` | -          | -                               | ![watermark image url][watermark_image_url-encode_text_bold-1] | -                  | -                                                              | ![text image][text_image_url-encode_text_bold-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 by the invisible text watermark of the image to prove the copyright ownership of the image.

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

[watermark_image_url-encode_text-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text-1-min.jpg

[watermark_image_url-encode_text_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text_plus-1-min.jpg

[watermark_image_url-encode_text_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/watermark_image_url-encode_text_bold-1-min.jpg

[text_image_url-encode_text-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text-1-min.png

[text_image_url-encode_text_plus-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text_plus-1-min.png

[text_image_url-encode_text_bold-1]: https://img.ailabtools.com/rapidapi/AddBlindTextWatermark/text_image_url-encode_text_bold-1-min.png
