You need to enable JavaScript to run this app.
导航
盲水印
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.03 19:02:00

阅读本文,您可以获取 Node SDK 盲水印的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍盲水印相关接口的功能和调用示例。

添加盲水印

您可以调用 CreateImageHmEmbed 接口添加盲水印。详细的参数说明可参见 CreateImageHmEmbed 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function CreateImageHmEmbedDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "oz***y2",
      // 待添加盲水印的原图 Uri。
      StoreUri: "tos-boe-i-oz***y2/cf***9d.jpg",
      // 算法模型,取值如下所示:
      // * default:文本嵌入模型,默认文本嵌入模型;
      // * adapt_resize:画质自适应文本嵌入模型。
      Algorithm: "default",
      // 自定义盲水印文本内容。
      // * 文本嵌入模型支持最长可嵌入115个水印内容字符。
      // * 画质自适应文本嵌入模型无水印内容长度限制。
      Info: "你好abc123%^$%",
      // 输出图片格式,默认 png,支持图片格式有:png、jpeg、webp。
      OutFormat: "png",
      // 输出图片质量参数。取值范围为 [1,100],默认为 75。
      // 对于 PNG 无损压缩,其他格式下其值越小,压缩率越高,画质越差。
      OutQuality: 75,
      // 算法强度,强度越高,图像抵抗攻击性能越强。<br>取值如下所示:
      // * low:低强度,适用于纯色图场景以及对图像质量要求高;
      // * medium:中强度,默认中强度;
      // * strong:高强度,适合图像纹理丰富时使用。
      StrengthLevel: "strong",
    };

    const res = await imagexService.CreateImageHmEmbed(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

提取盲水印

您可以调用 CreateImageHmExtract 接口提取盲水印。详细的参数说明可参见 CreateImageHmExtract 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function CreateImageHmExtractDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 待提取水印图对应的服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "97**sh",
      // 待提取盲水印的图片的 URI。StoreUri 和 ImageUrl 都不为空时,以 StoreUri 为准。
      StoreUri: "tos-cn-i-97**sh/example",
      // 待提取盲水印图片的 URL。StoreUri 和 ImageUrl 都不为空时,以 StoreUri 为准。
      ImageUrl: "https://test.com/example.png",
      // 算法模型,取值如下所示:
      // <li> default:文本嵌入基础模型 </li>
      // <li> adapt_resize:画质自适应文本嵌入模型。 </li>
      // <li> adapt: 文本嵌入自适应模型(AIGC 适用) </li>
      // <li> natural:文本嵌入基础模型(彩色图片通用) </li>
      // <li> tracev1:前景图层水印模型(纯色背景适用) </li>
      // <li> tracev2:前景图层水印模型(彩色背景通用) </li>
      // warning
      // 指定 tracev1 或 tracev2 模型时,请传入已添加对应模型水印的背景网页的**截图**。若模型错误,则无法提取水印。
      Algorithm: "default",
    };

    const res = await imagexService.CreateImageHmExtract(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}

创建盲水印前背景图层

您可以调用 CreateHiddenWatermarkImage 接口创建盲水印前背景图层。详细的参数说明可参见 CreateHiddenWatermarkImage 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";

export async function CreateHiddenWatermarkImageDemo() {
  try {
    const imagexService = new imagex.ImagexService({
      // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
      accessKeyId: process.env.VOLC_ACCESSKEY,
      secretKey: process.env.VOLC_SECRETKEY,
    });

    const requestParam = {
      // 用于存储结果图和计量计费的服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "h1**0k",
      // 盲水印模型,取值如下所示:
      // <li> tracev1:前景图层水印模型(纯色背景适用)。 </li>
      //
      // 该模型可以生成带有水印的透明图像,但仅适用于**纯色**网页泄露溯源场景。该模型可有效抵抗常见的社交软件传播。然而,该算法对页面背景色的影响相对较大,因此不适合用于保护多彩页面或图片,例如商品页面。
      // <li> tracev2:前景图层水印模型(彩色背景通用) </li>
      // 该模型可以生成含水印的透明图像,主要应用在前端页面截图泄露溯源场景。该模型生成的水印纹理密集,在正常界面添加后肉眼基本不可见(截图放大后存在肉眼可见的水印纹理),可抵抗常见的社交软件传播。
      Algorithm: "tracev1,tracev2",
      // 盲水印强度,取值如下所示:
      // <li> low:低强度,适用于对图像质量要求高。 </li>
      // <li> medium:中强度 </li>
      // <li> strong:高强度,适合图像纹理丰富时使用。 </li>
      Strength: "medium",
      // 自定义盲水印文本信息,最多支持 128 个字符。
      Info: "你好",
    };

    const res = await imagexService.CreateHiddenWatermarkImage(requestParam);
    console.log("res", res);
  } catch (err) {
    console.error(err);
  }
}