You need to enable JavaScript to run this app.
导航
veImageX-豆包智能生图最佳实践
最近更新时间:2024.11.11 10:18:39首次发布时间:2024.11.08 11:15:13

以下将为您介绍如何在 veImageX 借助豆包智能生图能力,对 AI 生图进行个性化的模板处理并获取结果图地址。

注意事项

每次调用 API 仅会生成 1 张图,如需获取多张图,请分批调用接口。

前提条件

操作准备

开通豆包大模型

  1. 登录火山方舟控制台,进入开通管理页面。

  2. 点击并进入视觉大模型页签,依次完成以下三个豆包模型的开通。开通后,您就能通过 veImageX 的 OpenAPI 接入豆包的 API 服务。

配置白名单并开通授权

ImageX-豆包 AIGC 方案为 veImageX 的白名单工单,请您提前提交工单联系技术支持为您开通白名单。在开通白名单后,请在控制台开通方舟授权。

  1. 登录 veImageX 控制台,进入附加组件

  2. 智能处理页签下,选择 ImageX-豆包 AIGC 方案组件后单击产品体验按钮。

  3. 切换为基础配置页签,单击前往授权按钮,完成授权。

获取 veImageX 配置信息

在正式开始使用前,您还需要在 veImageX 侧提前获取以下信息。

  1. 获取图像处理服务的服务 ID:进入控制台的服务管理页面,查看并记录正常状态的图像处理服务的服务 ID。

  2. 获取服务内正常可用的域名:进入上面服务的基础配置页面,在分发配置页签下查看并记录正常且 CNAME 已解析的域名。

  3. 获取图片处理模板的模板配置:进入上面服务的处理配置页面,查看并记录图片处理模板的模板配置(不带~)。如tplv-xxxxxxx-6.image

开始使用

veImageX 已提供了对应生图能力的接口文档,以下将为您介绍如何完成参数填写,并获取相应参数。

文生图

通过输入提示词和 veImageX 处理模板名称生成 1 张图像。

类型提示词选用的豆包接口模型veImageX 模板配置输出图片

通用版

一只凤蝶,停在黄色小花,触角卷曲,动作自然,微风,阳光,背景是天空,成群的蝴蝶在飞舞

CVProcess(通用 2.0 L-文生图)

使用默认配置的模板

使用配置了以下能力的模板:
图像超分辨率:启用4倍超分

alt

动漫版

卡通,明媚的夏日午后,小女孩带着遮阳帽,黄色的柴犬,草地,后花园,玩耍,大笑

CVProcess(动漫 1.3.X-文生图/图生图)

使用默认配置的模板

使用使用配置了以下能力的模板:

  • 格式转换:指定为 png

  • 文字水印:水印内容为 veImageX 图片处理,字号为 50px,RGB 值为#ff0000,位置在右下角

  • 智能人脸裁剪:指定裁剪宽高为 400x600

alt

以下为使用同步文生图接口的服务端 SDK 调用示例。

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_GetCVTextGenerateImage(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetCVTextGenerateImageReq{
		GetCVTextGenerateImageQuery: &imagex.GetCVTextGenerateImageQuery{
			ServiceID: Service,        // 服务 ID,参考操作准备-获取 veImageX 配置信息获取
		},
		GetCVTextGenerateImageBody:  &imagex.GetCVTextGenerateImageBody{
			 Domain:       "http://test.example.com",   //域名,参考操作准备-获取 veImageX 配置信息获取
       Template:     "tplv-serviceid-image.image",   //模板配置,参考操作准备-获取 veImageX 配置信息获取
       Outputs:      []string{"demo1"},      //指定输出图的文件名
       ModelAction:  "CVProcess",    //使用通用2.0L-文生图模型,此处传入该模型对应接口 Action
       ModelVersion: "2022-08-31",   //使用通用2.0L-文生图模型,此处传入该模型对应接口 Version
       ReqJSON: map[string]interface{}{   ////使用通用2.0L-文生图模型,此处传入该模型对应接口的请求示例
         "req_key":       "high_aes_general_v20",     //固定值,high_aes_general_v20_L
         "prompt":        "一只凤蝶,停在黄色小花,触角卷曲,动作自然,微风,阳光,背景是天空,成群的蝴蝶在飞舞",   //提示词,用于生成图像
         “use_sr”:       "true"     //开启超分
       },
       Overwrite: true,       //开启 veImageX 侧的重名覆盖上传
      }
		},
	}

	resp, err := instance.GetCVTextGenerateImage(context.Background(), param)

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

图生图

通过输入参考构图、中英文提示词和 veImageX 处理模板名称生成 1 张图像。

版本提示词选用的豆包接口模型参考构图veImageX 模板配置输出图片
通用版雨后,出现一道彩虹,飞过一群鸟儿CVProcess(通用 XL pro-图生图)使用默认配置的模板
动漫版水彩画,天空有一道彩虹,彩虹下有云朵,云朵下有绿色草地CVProcess(动漫 1.3.X-文生图/图生图)使用默认配置的模板

以下为图生图接口的服务端 SDK 调用示例。

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_GetCVImageGenerateResult(t *testing.T) {
	instance := imagex.NewInstance()

	instance.SetCredential(base.Credentials{
		AccessKeyID:     "ak",
		SecretAccessKey: "sk",
	})

	param := &imagex.GetCVImageGenerateResultReq{
		GetCVImageGenerateResultQuery: &imagex.GetCVImageGenerateResultQuery{
			 ServiceID: Service,        // 服务 ID,参考操作准备-获取 veImageX 配置信息获取
		},
		GetCVImageGenerateResultBody:  &imagex.GetCVImageGenerateResultBody{
			 Domain:       "http://test.example.com",   //域名,参考操作准备-获取 veImageX 配置信息获取
       Template:     "tplv-serviceid-image.image",   //模板配置,参考操作准备-获取 veImageX 配置信息获取
       Outputs:      []string{"demo1"},      //指定输出图的文件名
       ModelAction:  "CVProcess",    //使用通用 XL pro-图生图模型,此处传入该模型对应接口 Action
       ModelVersion: "2022-08-31",   //使用通用 XL pro-图生图模型,此处传入该模型对应接口 Version
       ReqJSON: map[string]interface{}{   //使用通用 XL pro-图生图模型,此处传入该模型对应接口的请求示例
         "req_key":       "i2i_xl_sft",     //固定值,i2i_xl_sft
         "image_urls":    []string{"http://a.test.com/example.png"}   //参考图,用于生成图像
         "prompt":        "雨后,出现一道彩虹,飞过一群鸟儿",   //提示词,用于生成图像
       },
       Overwrite: true,       //开启 veImageX 侧的重名覆盖上传
      }
		},
	}

	resp, err := instance.GetCVImageGenerateResult(context.Background(), param)

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