You need to enable JavaScript to run this app.
文档中心
veImageX

veImageX

复制全文
下载 pdf
AI 能力组件 2.0
图像超分辨率(云端)
复制全文
下载 pdf
图像超分辨率(云端)

图像超分辨率(云端)附加组件利用 AI 能力,将低分辨率图像做 2-8 倍超分智能放大,并保持处理后图像的清晰度,使图像更加清晰、锐利、干净,给用户带来良好的视觉体验。本文介绍如何使用图像超分辨率(云端)附加组件。
Image

使用场景

以下为图像超分辨率组件的主要使用场景。

  • 对于电影院海报广告牌制作,图像超分可以保证图片放大时的画质和清晰度,两倍图片处理的超分辨率支持将图片放大 2 倍(每边各 2 倍),可以得到比传统方式放大图片更清晰的细节。面对越来越高的屏幕分辨率,可以极大改善图片放大浏览、使用时的体验。
  • 对于图片设计图像浏览,支持图像画质的提升,可用于提升高压缩率图片的画质。图像超分可以有效去除压缩噪声,对于无法找到更加清晰图片源的图片,可以得到更清晰的图片。

使用限制

为确保能够生成图像,请满足以下限制。

  • 输入分辨率:16 px ≤ 短边 ≤ 1440 px,16 px ≤ 长边 ≤ 2160 px。如果为其他分辨率,请先通过模板变更图片分辨率。
  • 输入大小:单张图 <= 10 MB。如果超出 10 MB,请先通过模板压缩图片大小。
  • 输入格式:.jpeg、.jpg、.png、.webp。如果为其他格式,请先通过模板变更图片格式。
  • 输出分辨率:短边 ≤ 2160 px,长边 ≤ 3840 px。可通过模板二次处理为其他分辨率。
  • 输出格式:.jpeg、.jpg、.png、.webp。可通过模板二次处理为其他格式。

使用方法

前提条件

  • 开通 veImageX 产品服务创建服务
  • 已开通智能处理计费配置
  • (可选)如需完成以下操作,确保已新建模板
    • 处理输入图像:如果输入图像不符合输入限制,您可以通过模板来压缩图片大小或变更图片格式等,再将处理后的图片作为输入图像。
    • 处理生成图像:对生成的图像进行二次处理,例如添加水印或调整分辨率。

步骤一:调用 AI 能力

方式一:通过 API 调用

同步处理

调用同步处理接口 AIProcess,提交一条 URL 或 URI 资源执行同步 AI 图像处理任务。
请求示例

POST https://imagex.volcengineapi.com/?Action=AIProcess&Version=2023-05-01
{
    "ServiceId": "91**2g", // 必选。服务 ID。
    "WorkflowTemplateId": "system_workflow_sr", // 必选。模板 ID。
    "WorkflowParameter": "{\"Input\":{\"ObjectKey\":\"example.webp\",\"DataType\":\"uri\"},\"SrParam\":{\"Mode\":0,\"Multiple\":2,\"ShortMin\":16,\"ShortMax\":1440,\"LongMin\":16,\"LongMax\":2160,\"Policy\":0,\"SharpRatio\":1.0,\"DenoiseRatio\":0.7}}" // 必选。模板参数。
}

其中,

  • ServiceId:服务 ID,可从服务管理页面获取。
  • WorkflowTemplateId:取值固定为 system_workflow_sr
  • WorkflowParameter:根据输入参数,设置该参数取值。

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "AIProcess",
        "Version": "2023-05-01",
        "Service": "ImageX",
        "Region": "cn-north-1"
    },
    "Result": {
        "Output": "{\"ObjectKey\":\"a.webp\",\"Size\":54509,\"Format\":\"webp\"}"
    }
}

Output 的参数含义详见 输出参数

异步处理

批量执行 AI 图像处理任务。

注意

确保已新建并启动批量处理任务队列。详见步骤一:新建并启动任务队列

  1. 调用异步处理接口 CreateImageAITask,创建批量处理任务。
    请求示例

    POST https://imagex.volcengineapi.com/?Action=CreateImageAITask&Version=2023-05-01
    {
        "ServiceId": "5s****fo", // 必选。服务 ID。
        "DataType": "uri", // 必选。图片地址类型,支持取值 uri 和 url。
        "DataList": [
            "a.png",
            "uridemo.png"
        ], // 必选。图片 URI 或 URL 列表(URI 不包含 tos-*-i-* 前缀)。
        "CallbackConf": { // 可选。回调配置。
            "Method": "HTTP", // 必选。回调方式,取值固定为 HTTP。
            "Endpoint": "https://demo.com", // 必选。回调地址,用于接收处理结果。
            "DataFormat": "JSON", // 可选。回调数据格式,支持取值 XML 和 JSON。
            "Args": "product id", // 可选。业务自定义回调参数。
            "Type": "task" // 可选。回调触发类型,支持取值 task 和 entry。默认值为 entry。
        },
        "WorkflowParameter": "{\"SrParam\":{\"Mode\":0,\"Multiple\":2,\"ShortMin\":16,\"ShortMax\":1440,\"LongMin\":16,\"LongMax\":2160,\"Policy\":0,\"SharpRatio\":1.0,\"DenoiseRatio\":0.7}}", // 必选。模板参数。
        "WorkflowTemplateId": "system_workflow_sr", // 必选。模板 ID。
        "QueueId": "62f224ce61****826e38c29a" // 必选。队列 ID。
    }
    

    其中,

    • WorkflowTemplateId:取值固定为 system_workflow_sr
    • WorkflowParameter:根据输入参数,设置该参数取值。
      返回示例
    {
        "ResponseMetadata": {
            "RequestId": "20230604110420****100232280022D31",
            "Action": "CreateImageAITask",
            "Version": "2023-05-01",
            "Service": "ImageX",
            "Region": "cn-north-1"
        },
        "Result": {
            "TaskId": "649b9d3****5537684010a7", // 任务 ID。
            "QueueId": "62f224ce61****826e38c29a" // 队列 ID。
        }
    }
    
  2. 通过以下任一方式获取图像处理结果。

    • 回调通知:如果您在上一步设置了回调地址(Endpoint),则当任务完成后,veImageX 会向该回调地址发送回调消息。详见回调
    • 主动查询:如果您未设置回调地址,调用 GetImageAIDetails 接口,获取图像处理结果。

方式二:通过服务端 SDK 调用

veImageX 提供了以下编程语言的 SDK,方便您调用 API。

前提条件

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

同步处理

提交一条 URL 或 URI 资源执行同步 AI 图像处理任务。详见同步处理

package imagex_test

import (
        "context"
        "encoding/json"
        "fmt"
        "testing"

        "github.com/volcengine/volc-sdk-golang/base"
        imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
)

func Test_AIProcess(t *testing.T) {
        instance := imagex.NewInstance()

        instance.SetCredential(base.Credentials{
              // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
      // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。
                AccessKeyID:     "ak",
                SecretAccessKey: "sk",
        })

        param := &imagex.AIProcessReq{
                AIProcessBody: &imagex.AIProcessBody{
                  ServiceID: "91**2g", // 必选。服务 ID。
                  WorkflowTemplateID: "system_workflow_sr",   // 必选。模板 ID。固定取值。
                  WorkflowParameter: "{\"Input\":{\"ObjectKey\":\"example.webp\",\"DataType\":\"uri\"},\"SrParam\":{\"Mode\":0,\"Multiple\":2,\"ShortMin\":16,\"ShortMax\":1440,\"LongMin\":16,\"LongMax\":2160,\"Policy\":0,\"SharpRatio\":1.0,\"DenoiseRatio\":0.7}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
 },
        }
        
        resp, err := instance.AIProcess(context.Background(), param)

        if err != nil {
                fmt.Printf("error %v", err)
        } else {
                t, _ := json.Marshal(resp)
                fmt.Printf("success %v", string(t))
        }
}

异步处理

  1. 创建批量处理任务。接口参数说明详见 CreateImageAITask

    package imagex_test
    
    import (
            "context"
            "encoding/json"
            "fmt"
            "testing"
    
            "github.com/volcengine/volc-sdk-golang/base"
            imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
    )
    
    func Test_CreateImageAITask(t *testing.T) {
            instance := imagex.NewInstance()
    
            instance.SetCredential(base.Credentials{
                  // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
                  // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。        
                    AccessKeyID:     "ak",
                    SecretAccessKey: "sk",
            })
    
            param := &imagex.CreateImageAITaskReq{
                CreateImageAITaskBody: &imagex.CreateImageAITaskBody{
                   ServiceID: "5s****fo",                       // 必选。服务 ID。
                   QueueID:   "649a9dbc32**064d44cf5b0",        // 必选。队列 ID。
                   DataType:  "uri",                            // 必选。图片地址类型,支持取值 uri 和 url。
                   DataList:  []string{"a.png", "uridemo.png"}, // 必选。图片 URI 或 URL 列表(URI 不包含 tos-*-i-* 前缀)。
                   CallbackConf: &imagex.CreateImageAITaskBodyCallbackConf{ // 可选。回调配置。
                      Method:     "HTTP",             // 必选。回调方式,取值固定为 HTTP。
                      Endpoint:   "https://demo.com", // 必选。回调地址,用于接收处理结果。
                      DataFormat: "JSON",             // 可选。回调数据格式,支持取值 XML 和 JSON。
                      Args:       "productid",        // 可选。业务自定义回调参数。
                      Type:       "task",             // 可选。回调触发类型,支持取值 task 和 entry。默认值为 entry。
                   },
                   WorkflowParameter:  "{\"SrParam\":{\"Mode\":0,\"Multiple\":2,\"ShortMin\":16,\"ShortMax\":1440,\"LongMin\":16,\"LongMax\":2160,\"Policy\":0,\"SharpRatio\":1.0,\"DenoiseRatio\":0.7}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
                   WorkflowTemplateID: "system_workflow_sr",                                                // 必选。模板 ID。固定取值。
                },
            }
    
            resp, err := instance.CreateImageAITask(context.Background(), param)
    
            if err != nil {
                    fmt.Printf("error %v", err)
            } else {
                    t, _ := json.Marshal(resp)
                    fmt.Printf("success %v", string(t))
            }
    }
    
  2. 通过以下任一方式获取图像处理结果。

    • 回调通知:如果您在上一步设置了回调地址,则当任务完成后,veImageX 会向该回调地址发送回调消息。详见回调
    • 主动查询:如果您未设置回调地址,需主动获取图像处理结果。接口参数说明详见 GetImageAIDetails
      package imagex_test
      
      import (
              "context"
              "encoding/json"
              "fmt"
              "testing"
      
              "github.com/volcengine/volc-sdk-golang/base"
              imagex "github.com/volcengine/volc-sdk-golang/service/imagex/v2"
      )
      
      func Test_GetImageAIDetails(t *testing.T) {
              instance := imagex.NewInstance()
      
              instance.SetCredential(base.Credentials{
                    // 强烈建议不要把 ak 和 sk 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
                    // 本示例通过从环境变量中读取 ak 和 sk,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ak 和 sk。              
                      AccessKeyID:     "ak",
                      SecretAccessKey: "sk",
              })
      
              param := &imagex.GetImageAIDetailsQuery{
                  QueueID: "649a9dbc32**064d44cf5b0", // 必选。队列 ID。
                  TaskID: "67174744a**54449623155b9", // 必选。任务 ID。
                  StartTime: 1684713599, // 必选。查询开始时间。Unix 秒级时间戳。
                  EndTime: 1684913599, // 必选。查询结束时间。Unix 秒级时间戳。
                  Status: "Success", // 可选。任务执行状态。默认返回所有任务。
                  SearchPtn: "test", // 可选。图片 URI 或 URL 关键字。默认返回所有任务。
                  Limit: 10, // 必选。分页条数。取值范围为 (0, 100]。
                  Offset: 0, // 可选。分页偏移量。
                  ServiceID: "5s****fo", // 必选。服务 ID。
              }
      
              resp, err := instance.GetImageAIDetails(context.Background(), param)
      
              if err != nil {
                      fmt.Printf("error %v", err)
              } else {
                      t, _ := json.Marshal(resp)
                      fmt.Printf("success %v", string(t))
              }
      }
      

方式三:通过控制台操作

新建模板时,单击附加组件-智能处理 > 图像超分辨率(云端),并完成相关配置。
Image

步骤二:查看结果图

通过调用服务端 SDK 获取资源地址(推荐)

veImageX 提供了以下编程语言的 SDK,方便您调用 API。详见方式一:通过调用服务端 SDK 获取资源地址(推荐)

通过控制台获取资源地址

资源管理页面完成以下操作,获取资源地址。
Image

模板说明

模板 ID

system_workflow_sr

输入参数

您需要将输入参数序列化为 JSON 字符串后,作为同步处理接口 AIProcess 或异步处理接口 CreateImageAITaskWorkflowParameter 参数传入,或作为批量处理时的模板配置参数传入。

参数
类型
是否必选
示例值
说明
Input
Object
-
输入图像的信息。
仅在调用同步处理接口 AIProcess 时必选。
SrParam
Object
-
超分参数。

输出参数

veImageX 服务会将输出参数序列化为 JSON 字符串后作为 AIProcess 接口、回调GetImageAIDetails 接口的 Output 参数返回。

说明

生成的图像在控制台资源管理页面默认不展示,仅支持通过不包含 tos-*-i-* 前缀的存储 URI 搜索。

参数

类型

示例值

说明

ObjectKey

String

a.webp

生成图像在指定服务 ID 下不包含 tos-*-i-* 前缀的存储 URI。

Size

Integer

38656

生成图像的大小,单位为字节。

Format

String

webp

生成图像的格式。

最近更新时间:2026.01.15 18:14:08
这个页面对您有帮助吗?
有用
有用
无用
无用