阅读本文,您可以获取 Node SDK 画质增强的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 Node SDK 的安装及初始化操作。
本节为您介绍画质增强相关接口的功能和调用示例。
您可以调用 GetImageEnhanceResult 接口使用画质增强获取结果图。详细的参数说明可参见 GetImageEnhanceResult 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetImageEnhanceResultDemo() { 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。 // * 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 // * 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 ServiceId: "v0***bf", // 待增强的原图地址的存储 URI 和 URL(公网可访问的 URL)。 StoreUri: "test.webp", // 增强模型,取值如下所示: // * 0:通用模型 // * 1:低质专清模型 Model: 0, // 是否不去压缩失真。Model取值为0时选填,支持以下取值: // * true:不进行去压缩失真处理 // * false:(默认)进行去压缩失真处理 DisableAr: false, // 是否不自适应锐化。Model取值为0时选填,支持以下取值: // * true:不进行锐化处理 // * false:(默认)进行锐化处理 DisableSharp: true, }; const res = await imagexService.GetImageEnhanceResult(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 GetComprehensiveEnhanceImage 接口使用综合增强获取结果图。详细的参数说明可参见 GetComprehensiveEnhanceImage 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetComprehensiveEnhanceImageDemo() { 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。 ServiceId: "i2****hg", // 待增强图片的存储 URI 或访问 URL(公网可访问)。您可在控制台资源管理获取图片的[存储 URI](https://www.volcengine.com/docs/508/1205057) 以及[访问 URL](https://www.volcengine.com/docs/508/1205054)。 ImageUri: "tos-example/7a7979974.jpeg", // 优化策略,取值如下所示: // <li> 0:通用画质提升 </li> // <li> 1:显著画质提升 </li> // note: // 推荐优先使用通用方案,显著画质提升方案画质分提高 10% 左右,但体积会有一定浮动提升。以上幅度变化基于测试集总结,具体以使用场景为准。 Mode: 0, // 是否启用高级配置,取值如下所示: // <li> true:开启。开启后,下述高级配置才会生效。 </li> // <li> false:(默认)关闭。 </li> // note: // 适用于 8000 x 8000 以分辨率图像的画质增强。 EnableConfig: true, // 去压缩失真强度,取值范围为[0,1]。取值为0时表示不处理,取值越大去压缩失真强度越大。 ArStrength: 0.2, // 去模糊强度,取值范围为[0,1]。取值为0时表示不处理,取值越大去模糊强度越大。 DeblurStrength: 0.2, // 降噪强度,取值范围为[0,1]。取值为0时表示不降噪,取值越大降噪强度越大。 DenoiseStrength: 0.2, // 是否开启超分配置,仅满足图像输入边界的图像执行超分处理。取值如下所示: // <li> true:开启。仅当开启后,下述超分配置才会生效。 </li> // <li> false:(默认)关闭。 </li> // note: // 适用于 8000 x 8000 以内分辨率图像的画质增强。 EnableSuperResolution: true, // 超分倍率,仅支持 2 倍和 4 倍。 // note: // 4 倍超分辨率只适用于 4000 x 4000 以内分辨率图像的画质增强。 Multiple: 2, // EnableSuperResolution 取值为 true 时,为必填。 // 执行超分处理的短边范围最小值,仅当满足图像边界输入的图像执行超分处理。单位为 px。 ShortMin: 200, // EnableSuperResolution 取值为 true 时,为必填。 // 执行超分处理的短边范围最大值,仅当满足图像边界输入的图像执行超分处理。单位为 px。 ShortMax: 700, // 执行超分处理的长边范围最小值,仅当满足图像边界输入的图像执行超分处理。单位为 px。 LongMin: 300, // 执行超分处理的长边范围最大值,仅当满足图像边界输入的图像执行超分处理。单位为 px。 LongMax: 800, // 是否开启下采样,即图片在执行增强效果的同时可自定义输出图片分辨率大小。取值如下所示: // <li> true:开启。仅当开启后,下述下采样配置才会生效。 </li> // <li> false:(默认)关闭。 </li> // note: // 适用于 8000 x 8000 以内分辨率图像的画质增强。 EnableDownsample: true, // 下采样输出图片宽度,图片将适配对应大小。单位为 px。 DownsampleOutWidth: 10, // 下采样输出图片高度,图片将适配对应大小。单位为 px。 DownsampleOutHeight: 10, // 下采样模式,取值如下所示: // <li> 0: 仅缩小,图片大于设置的“宽/高”时,将缩小图片 </li> // <li> 1: 仅放大,图片小于设置的“宽/高”时,将放大图片 </li> // <li> 2: 既缩小又放大,即按照自定义“宽/高”输出结果图,该操作可能导致图片变形 </li> DownsampleMode: 1, // 饱和度,取值范围为[0,2]。取值大于 1 表示提升饱和度,取值小于 1 表示降低饱和度。 Saturation: 1.5, // EnableConfig 取值为 true 时,为必填。 // 亮度,取值范围为[90,100]。取值越小,亮度提升越明显。 Brightness: 95, // 是否使用文字增强,取值如下所示: // <li> false:(默认)不使用 </li> // <li> true:使用 </li> EnableTextEnhance: false, // 文字增强强度,取值范围[0,1],默认值为 0.5。取值越大文字增强效果越强,但也更容易出现白边、色偏、对比度增大、非 CG 文字与背景产生割裂感等问题。 TextEnhanceStrength: 0.5, }; const res = await imagexService.GetComprehensiveEnhanceImage(requestParam); console.log("res", res); } catch (err) { console.error(err); } }