You need to enable JavaScript to run this app.
导航
创意魔方
最近更新时间:2024.11.29 14:38:36首次发布时间:2022.03.31 19:23:22

阅读本文,您可以获取 Go SDK 创意魔方的接口调用示例,实现快速开发。

说明

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

调用说明

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

前提条件

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

调用示例

本节为您介绍创意魔方相关接口的功能和调用示例。

创建样式

您可以调用 CreateImageStyle 接口创建样式。详细的参数说明可参见 CreateImageStyle 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.CreateImageStyleReq{
		CreateImageStyleQuery: &imagex.CreateImageStyleQuery{},
		CreateImageStyleBody:  &imagex.CreateImageStyleBody{},
	}

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

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

删除样式

您可以调用 DeleteImageStyle 接口删除样式。详细的参数说明可参见 DeleteImageStyle 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.DeleteImageStyleReq{
		DeleteImageStyleQuery: &imagex.DeleteImageStyleQuery{},
		DeleteImageStyleBody:  &imagex.DeleteImageStyleBody{},
	}

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

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

编辑样式

您可以调用 UpdateImageStyle 接口编辑样式。详细的参数说明可参见 UpdateImageStyle 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.UpdateImageStyleReq{
		UpdateImageStyleQuery: &imagex.UpdateImageStyleQuery{},
		UpdateImageStyleBody:  &imagex.UpdateImageStyleBody{},
	}

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

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

获取样式详情

您可以调用 GetImageStyleDetail 接口获取样式详情。详细的参数说明可参见 GetImageStyleDetail 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.GetImageStyleDetailQuery{}

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

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

获取样式列表

您可以调用 GetImageStyles 接口获取样式列表。详细的参数说明可参见 GetImageStyles 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.GetImageStylesQuery{}

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

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

更新样式元数据

您可以调用 UpdateImageStyleMeta 接口更新样式元数据。详细的参数说明可参见 UpdateImageStyleMeta 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.UpdateImageStyleMetaReq{
		UpdateImageStyleMetaQuery: &imagex.UpdateImageStyleMetaQuery{},
		UpdateImageStyleMetaBody:  &imagex.UpdateImageStyleMetaBody{},
	}

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

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

添加常用图片/背景/蒙版要素

您可以调用 AddImageElements 接口添加常用图片/背景/蒙版要素。详细的参数说明可参见 AddImageElements 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.AddImageElementsReq{
		AddImageElementsQuery: &imagex.AddImageElementsQuery{},
		AddImageElementsBody:  &imagex.AddImageElementsBody{},
	}

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

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

删除常用图片/背景/蒙版要素

您可以调用 DeleteImageElements 接口删除常用图片/背景/蒙版要素。详细的参数说明可参见 DeleteImageElements 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.DeleteImageBackgroundColorsReq{
		DeleteImageBackgroundColorsQuery: &imagex.DeleteImageBackgroundColorsQuery{},
		DeleteImageBackgroundColorsBody:  &imagex.DeleteImageBackgroundColorsBody{},
	}

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

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

获取常用图片/背景/蒙版要素

您可以调用 GetImageElements 接口获取常用图片/背景/蒙版要素。详细的参数说明可参见 GetImageElements 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.GetImageElementsQuery{}

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

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

添加常用颜色

您可以调用 AddImageBackgroundColors 接口添加常用颜色。详细的参数说明可参见 AddImageBackgroundColors 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.AddImageBackgroundColorsReq{
		AddImageBackgroundColorsQuery: &imagex.AddImageBackgroundColorsQuery{},
		AddImageBackgroundColorsBody:  &imagex.AddImageBackgroundColorsBody{},
	}

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

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

删除常用颜色

您可以调用 DeleteImageBackgroundColors 接口删除常用颜色。详细的参数说明可参见 DeleteImageBackgroundColors 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.DeleteImageBackgroundColorsReq{
		DeleteImageBackgroundColorsQuery: &imagex.DeleteImageBackgroundColorsQuery{},
		DeleteImageBackgroundColorsBody:  &imagex.DeleteImageBackgroundColorsBody{},
	}

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

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

获取常用颜色

您可以调用 GetImageBackgroundColors 接口获取常用颜色。详细的参数说明可参见 GetImageBackgroundColors 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.GetImageBackgroundColorsQuery{}

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

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

获取可用字体

您可以调用 GetImageFonts 接口获取可用字体。详细的参数说明可参见 GetImageFonts 接口文档。

接口调用示例如下所示。

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

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

	param := &imagex.GetImageFontsQuery{}

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

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

获取结果图 URI

您可以调用 GetImageStyleResult 接口获取结果图 URI。详细的参数说明可参见 GetImageStyleResult 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

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

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

	query := &imagex.GetImageStyleResultQuery{
		// 图片渲染所用样式关联的服务的 ID,用于计量计费和渲染结果的存储。获取方式请参见[如何获取调用参数](https://www.volcengine.com/docs/508/105396)。
		ServiceID: `7k**1k`,
	}

	body := &imagex.GetImageStyleResultBody{
		// 图片渲染所用样式的样式 ID。获取方法请参见[如何获取样式 ID](https://www.volcengine.com/docs/508/105396#如何获取创意魔方的样式-id?)。
		StyleID: `619b6dec3a997f01e7e263e*`,
		// 渲染结果图的编码格式,默认值为 webp。取值如下所示:
		// <li> jpeg </li>
		// <li> webp </li>
		// <li> png </li>
		// <li> heic </li>
		OutputFormat: `jpeg`,
		// 渲染结果图的编码质量。默认为 75,取值范围为 [1,100],值越大,结果图的质量越高。
		OutputQuality: 75,
	}

	requestParam := &imagex.GetImageStyleResultReq{}

	requestParam.GetImageStyleResultQuery = query
	requestParam.GetImageStyleResultBody = body

	resp, err := service.GetImageStyleResult(context.Background(), requestParam)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}