You need to enable JavaScript to run this app.
导航
离线画质评估
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.03 19:01:59

阅读本文,您可以获取 Node SDK 离线画质评估的接口调用示例,实现快速开发。

说明

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

调用说明

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

前提条件

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

调用示例

本节为您介绍离线画质评估相关接口的功能和调用示例。

创建任务

您可以调用 CreateImageAnalyzeTask 接口创建任务。详细的参数说明可参见 CreateImageAnalyzeTask 接口文档。

接口调用示例如下所示。

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

export async function CreateImageAnalyzeTaskDemo() {
  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 = {
      // 自定义离线评估任务名称
      Name: "test",
      // 任务描述,可作为该条任务的备注信息。
      Desc: "备注",
      // 任务类型。取值如下所示:
      // <li> OnlineUrl(暂不支持) </li>
      // <li> SdkUrl(暂不支持) </li>
      // <li> UrlFile:在线提交 URL 离线评估,即在.txt 文件(评估文件)内填写了待评估图片文件 URL,并将该 txt 文件上传至指定服务后获取并传入该文件的 StoreUri。 </li>
      // <li> UriFile:在线提交 URI 离线评估,即在.txt 文件(评估文件)内填写了待评估图片文件 URI,并将该 txt 文件上传至指定服务后获取并传入该文件的 StoreUri。 </li>
      Type: "UrlFile",
      // 服务 ID。
      // <li> 您可以在 veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      ServiceId: "4u***7a",
      // 仅当Type 取值 UriFile 时,配置有效。
      // 模板名称,您可通过调用 [GetAllImageTemplates](https://www.volcengine.com/docs/508/9386) 获取服务下所有已创建的 TemplateName。
      Tpl: "tplv-xyz-xxx",
      // txt 评估文件的 Store URI,该文件需上传至指定服务对应存储中。
      // <li> Type 取值 UrlFile 时,填写合法 URL </li>
      // <li> Type 取值 UriFile 时,填写指定服务的存储 URI </li>
      ResUri: ["tos-cn-i-4u***7a/URL.txt"],
      // 仅当Type 取值 UriFile 时,配置有效。
      // 是否模拟模板每阶段输出,取值如下所示:
      // <li> true:是,一个模版中可以选择多种图像处理, 模拟输出时会将所有的处理逐步叠加并编码为最终图片格式运行并输出评估结果。 </li>
      // <li> false:否。 </li>
      EvalPerStage: false,
      // 任务地区。当前仅支持取值 cn,表示国内。
      Region: "cn",
    };

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

删除任务

您可以调用 DeleteImageAnalyzeTask 接口删除任务。详细的参数说明可参见 DeleteImageAnalyzeTask 接口文档。

接口调用示例如下所示。

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

export async function DeleteImageAnalyzeTaskDemo() {
  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,您可以通过调用 [GetImageAnalyzeTasks](https://www.volcengine.com/docs/508/1160417) 获取指定地区全部离线评估任务 ID。
      TaskId: "987390***018230",
    };

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

删除任务执行记录

您可以调用 DeleteImageAnalyzeTaskRun 接口删除任务执行记录。详细的参数说明可参见 DeleteImageAnalyzeTaskRun 接口文档。

接口调用示例如下所示。

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

export async function DeleteImageAnalyzeTaskRunDemo() {
  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,您可以通过调用 [GetImageAnalyzeTasks](https://www.volcengine.com/docs/508/1160417) 获取指定地区全部离线评估任务 ID。
      TaskId: "6503f977**ee077722be798e",
      // 执行 ID,您可以通过调用 [GetImageAnalyzeResult](https://www.volcengine.com/docs/508/1160419) 获取该任务全部的执行记录查看执行 ID。
      RunId: "653a1770f**8b3ec116baa48",
    };

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

更新任务配置

您可以调用 UpdateImageAnalyzeTask 接口更新任务配置。详细的参数说明可参见 UpdateImageAnalyzeTask 接口文档。

接口调用示例如下所示。

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

export async function UpdateImageAnalyzeTaskDemo() {
  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 = {
      // 任务名称
      Name: "test",
      // 任务描述
      Desc: "备注",
      // 服务 ID
      ServiceId: "4u**7a",
      // 仅当Type 取值 UriFile 时,配置有效。
      // 模板名称,您可通过调用 [GetAllImageTemplates](https://www.volcengine.com/docs/508/9386) 获取服务下所有已创建的 TemplateName。
      Tpl: "tplv-a-xxx",
      // txt 评估文件的 Store URI,该文件需上传至指定服务对应存储中。
      // <li> Type 取值 UrlFile 时,填写合法 URL </li>
      // <li> Type 取值 UriFile 时,填写指定服务的存储 URI </li>
      ResUri: ["tos-cn-i-4u**7a/StoreUri.txt"],
      // 仅当Type 取值 UriFile 时,配置有效。
      // 是否模拟模板每阶段输出,取值如下所示:
      // <li> true:是,一个模版中可以选择多种图像处理, 模拟输出时会将所有的处理逐步叠加并编码为最终图片格式运行并输出评估结果。 </li>
      // <li> false:否。 </li>
      EvalPerStage: false,
      // 待更新的任务 ID,您可以通过调用 [GetImageAnalyzeTasks](https://www.volcengine.com/docs/508/1160417) 获取指定地区全部离线评估任务详情。
      TaskId: "65389176**34a65e2ce94",
    };

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

更新任务状态

您可以调用 UpdateImageAnalyzeTaskStatus 接口更新任务状态。详细的参数说明可参见 UpdateImageAnalyzeTaskStatus 接口文档。

接口调用示例如下所示。

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

export async function UpdateImageAnalyzeTaskStatusDemo() {
  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,您可以通过调用 [GetImageAnalyzeTasks](https://www.volcengine.com/docs/508/1160417) 获取指定地区全部离线评估任务 ID。
      TaskId: "981820****9183720",
      // 更新后的任务状态。取值如下所示:
      // <li> Running:进行中 </li>
      // <li> Suspend:暂停 </li>
      // <li> Done:结束 </li>
      Status: "Done",
    };

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

获取任务列表

您可以调用 GetImageAnalyzeTasks 接口获取任务列表。详细的参数说明可参见 GetImageAnalyzeTasks 接口文档。

接口调用示例如下所示。

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

export async function GetImageAnalyzeTasksDemo() {
  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 = {
      // 任务地区。默认为 cn,表示国内。
      Region: "cn",
      // 返回任务名称或描述中包含该值的任务。
      SearchPtn: "test",
      // 分页条数。取值范围为 (0,100],默认值为 100。
      Limit: 100,
      // 分页偏移量,默认为 0。取值为 1 时,表示跳过第一条数据,从第二条数据取值。
      Offset: 0,
    };

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

获取任务结果

您可以调用 GetImageAnalyzeResult 接口获取任务结果。详细的参数说明可参见 GetImageAnalyzeResult 接口文档。

接口调用示例如下所示。

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

export async function GetImageAnalyzeResultDemo() {
  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,您可以通过调用 [GetImageAnalyzeTasks](https://www.volcengine.com/docs/508/1160417) 获取指定地区全部离线评估任务 ID。
      TaskId: "981820****9183720",
      // 任务运行开始时间,Unix 时间戳。
      StartTime: 1697701258,
      // 任务运行结束时间,Unix 时间戳。
      EndTime: 1698306058,
      // 任务执行 ID
      RunId: "6503f977**22be798e",
      // 分页条数。默认值为 10。
      Limit: 10,
      // 分页偏移量,默认为 0。取值为 1 时,表示跳过第一条数据,从第二条数据取值。
      Offset: 0,
    };

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