阅读本文,您可以获取 Node SDK 盲水印的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 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); } }