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

veImageX

复制全文
下载 pdf
AI 能力组件 2.0
ImageX-SeeDream 生图方案
复制全文
下载 pdf
ImageX-SeeDream 生图方案

ImageX-SeeDream 生图方案附加组件通过 SeeDream 4.0 模型,根据提示词和参考图,生成一张或多张图像,适用于广告、游戏、网站设计等场景。本文介绍如何使用 ImageX-SeeDream 生图方案附加组件。

使用限制

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

  • 输入格式:.jpeg、.png。
    • 如果格式为 .webp、.awebp、.gif、.tiff、.bmp、.ico、.heic 或 .heif,请将 EnableImageConversion 设置为 true。详见输入参数
    • 如果为其他格式,请先通过模板变更图片格式。
  • 输入大小:单张图 <= 10 MB。如果大于 10 MB,请将 EnableImageConversion 设置为 true。详见输入参数
  • 输入宽高:(14x14, 6000x6000]。单位为 px。如果为其他宽高,请先通过模板变更图片宽高。
  • 输入宽高比:[1/3, 3]
  • 输出格式:.jpeg。可通过模板二次处理为其他格式。
  • 输出分辨率:1k - 4k。可通过模板二次处理为更高分辨率。
  • 输出宽高:[1280x720, 4096x4096]。单位为 px。可通过模板二次处理为其他宽高。
  • 输出宽高比:[1/16, 16]
  • 限流 IPM:500 张 / 分钟。

使用方法

您可以选择仅使用提示词,或结合提示词与参考图来生成图像。
根据您选择的处理方式,支持的参考图和生成图像数量有所不同。

  • 同步处理:支持传入 0-1 张参考图,并生成 1 张图像。
  • 异步处理:支持传入 0-10 张参考图,并生成 1 张图像或一组内容关联的图像。传入的参考图数量和输出的图像数量总和最多为 15 张。

前提条件

  • 开通 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_ark_seedream", // 必选。模板 ID。
    "WorkflowParameter": "{\"Input\":{\"ObjectKey\":\"a.png\",\"DataType\":\"uri\"},\"ArkSeedreamParam\":{\"ModelId\":\"seedream4\",\"Prompt\":\"星际穿越,黑洞,黑洞里冲出一辆快支离破碎的复古列车,抢视觉冲击力,电影大片,末日既视感,动感,对比色,oc渲染,光线追踪,动态模糊,景深,超现实主义,深蓝,画面通过细腻的丰富的色彩层次塑造主体与场景,质感真实,暗黑风背景的光影效果营造出氛围,整体兼具艺术幻想感,夸张的广角透视效果,耀光,反射,极致的光影,强引力,吞噬。\",\"Size\":\"2048x2048\",\"Watermark\":true,\"EnableImageConversion\":false,\"OptimizePromptOptions\":{\"Mode\":\"standard\"}}}" // 必选。模板参数。
}

其中,

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

返回示例

{
    "ResponseMetadata": {
        "RequestId": "20230604110420****100232280022D31",
        "Action": "AIProcess",
        "Version": "2023-05-01",
        "Service": "ImageX",
        "Region": "cn-north-1"
    },
    "Result": {
        "Output": "{\"Model\":\"doubao-seedream-4-0-250828\",\"Data\":{\"Uri\":\"a.jpeg\",\"Size\":\"2048x2048\"},\"Usage\":{\"GeneratedImages\":1}}"
    }
}

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": "{\"ArkSeedreamParam\":{\"ModelId\":\"seedream4\",\"Prompt\":\"星际穿越,黑洞,黑洞里冲出一辆快支离破碎的复古列车,抢视觉冲击力,电影大片,末日既视感,动感,对比色,oc渲染,光线追踪,动态模糊,景深,超现实主义,深蓝,画面通过细腻的丰富的色彩层次塑造主体与场景,质感真实,暗黑风背景的光影效果营造出氛围,整体兼具艺术幻想感,夸张的广角透视效果,耀光,反射,极致的光影,强引力,吞噬。\",\"Size\":\"2048x2048\",\"Watermark\":true,\"EnableImageConversion\":false,\"SequentialImageGeneration\":\"auto\",\"SequentialImageGenerationOptions\":{\"MaxImages\":3},\"OptimizePromptOptions\":{\"Mode\":\"standard\"}}}", // 必选。模板参数。
        "WorkflowTemplateId": "system_workflow_ark_seedream", // 必选。模板 ID。
        "QueueId": "62f224ce61****826e38c29a" // 必选。队列 ID。
    }
    

    其中,

    • WorkflowTemplateId:取值必须为 system_workflow_ark_seedream
    • WorkflowParameter:根据输入参数,设置该参数取值。
    • DataType:如不传入参考图,仅根据提示词生成图像时,必须将取值设置为 url
    • DataList:参考图的 URL 或 URI 地址,可辅助生成图像。
      • 当仅根据提示词生成图像时:参数取值为空字符串。例如 [""] 表示一次文生图请求,["", ""] 表示两次文生图请求,以此类推。
      • 当根据提示词和参考图生成图像时:参数取值为字符串数组,数组长度为 1-10,000。每个字符串中最多包含 10 张图片的地址,且每个地址之间使用英文逗号(,)分隔。每个字符串代表一次生图请求传入的参考图,例如 ["a.png,uridemo.png"] 表示根据提示词和参考图 a.png、uridemo.png 生成一次图像,["a.png","uridemo.png"] 表示根据提示词和参考图 a.png 生成一次图像,再根据提示词和参考图 uridemo.png 生成一次图像。

      说明

      地址不可包含英文逗号(,),且 URI 地址不包含 tos-*-i-* 前缀,例如图片的 URI 地址为 tos-m*a-i-0ksq****qe/image-a/example.png,则传入 image-a/example.png

    返回示例

    {
        "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_ark_seedream",   // 必选。模板 ID。固定取值。
                  WorkflowParameter: "{\"Input\":{\"ObjectKey\":\"a.png\",\"DataType\":\"uri\"},\"ArkSeedreamParam\":{\"ModelId\":\"seedream4\",\"Prompt\":\"星际穿越,黑洞,黑洞里冲出一辆快支离破碎的复古列车,抢视觉冲击力,电影大片,末日既视感,动感,对比色,oc渲染,光线追踪,动态模糊,景深,超现实主义,深蓝,画面通过细腻的丰富的色彩层次塑造主体与场景,质感真实,暗黑风背景的光影效果营造出氛围,整体兼具艺术幻想感,夸张的广角透视效果,耀光,反射,极致的光影,强引力,吞噬。\",\"Size\":\"2048x2048\",\"Watermark\":true,\"EnableImageConversion\":false,\"OptimizePromptOptions\":{\"Mode\":\"standard\"}}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
 },
        }
        
        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",                            // 必选。参考图的地址类型。支持传入 url 或 uri。详见本文的方式一:通过 API 调用 > 异步处理部分。
                   DataList:  []string{"a.png", "uridemo.png"}, // 必选。参考图的 URL 或 URI 地址,可辅助生成图像。详见本文的方式一:通过 API 调用 > 异步处理部分。
                   CallbackConf: &imagex.CreateImageAITaskBodyCallbackConf{ // 可选。回调配置。
                      Method:     "HTTP",             // 必选。回调方式,取值固定为 HTTP。
                      Endpoint:   "https://demo.com", // 必选。回调地址,用于接收处理结果。
                      DataFormat: "JSON",             // 可选。回调数据格式,支持取值 XML 和 JSON。
                      Args:       "productid",        // 可选。业务自定义回调参数。
                      Type:       "task",             // 可选。回调触发类型,支持取值 task 和 entry。默认值为 entry。
                   },
                   WorkflowParameter:  "{\"ArkSeedreamParam\":{\"ModelId\":\"seedream4\",\"Prompt\":\"星际穿越,黑洞,黑洞里冲出一辆快支离破碎的复古列车,抢视觉冲击力,电影大片,末日既视感,动感,对比色,oc渲染,光线追踪,动态模糊,景深,超现实主义,深蓝,画面通过细腻的丰富的色彩层次塑造主体与场景,质感真实,暗黑风背景的光影效果营造出氛围,整体兼具艺术幻想感,夸张的广角透视效果,耀光,反射,极致的光影,强引力,吞噬。\",\"Size\":\"2048x2048\",\"Watermark\":true,\"EnableImageConversion\":false,\"SequentialImageGeneration\":\"auto\",\"SequentialImageGenerationOptions\":{\"MaxImages\":3},\"OptimizePromptOptions\":{\"Mode\":\"standard\"}}}", // 必选。根据本文模板说明 > 输入参数,设置该参数取值。
                   WorkflowTemplateID: "system_workflow_ark_seedream",                                                // 必选。模板 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))
              }
      }
      

步骤二:查看结果图

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

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

通过控制台获取资源地址

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

模板说明

模板 ID

system_workflow_ark_seedream

输入参数

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

参数
类型
是否必选
示例值
说明
Input
Object
-
输入的参考图信息,可辅助生成图像。
仅在调用同步处理接口 AIProcess 且需根据参考图生成图像时必选。
ArkSeedreamParam
Object
-
SeeDream 生图参数。

输出参数

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

说明

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

参数
类型
示例值
说明
Model
String
doubao-seedream-4-0-250828
模型 ID,格式为模型名称-版本。目前固定取值为 doubao-seedream-4-0-250828。
Data
Array of Object
-
生成图像的信息。
Usage
Object
-
本次请求的用量信息。
Error
Object
-
本次请求,如发生错误,对应的错误信息。
最近更新时间:2026.01.15 18:14:09
这个页面对您有帮助吗?
有用
有用
无用
无用