wujiesdk

package module
v1.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2024 License: MIT Imports: 19 Imported by: 0

README

wujiesdk

GitHub watchers GitHub stars GitHub forks GitHub last commit GitHub repo size GitHub license

无界ai sdk https://apifox.com/apidoc/shared-ecc069df-a9d5-4c86-b723-6dcd5cc79f81

安装

go get

go get -u github.com/XdpCs/wujiesdk@master

go mod

require github.com/XdpCs/wujiesdk latest

完成情况

  • 用户开放
    • 获取用户积分可用余额
    • 向指定用户(手机号)发起积分兑换
  • Ai作画
    • 获取预设资源
    • 获取模型列表
    • 作画结果查询
    • 作画参数查询接口, 一次最多可查询6个key的作画参数
    • 作画成功后的图片详情查询
    • 获取单个模型排队信息
    • 获取风格模型的预设资源
    • 发起AI作画
    • 加速作画
    • 单张图片进行超分辨处理
    • 超分结果批量查询
    • 撤销作画
    • 计算作画成本
    • 提交描述词优化任务
    • 图片年轻化接口
    • 作画咒语查询
    • 查询描述词优化任务结果
  • 化身
    • 化身训练
      • 化身训练图片检测
      • 化身详情查询
      • 化身删除
      • 创建化身
    • 化身作画
      • 化身作画接口
      • 化身作画资源选项接口
  • 咒语解析
    • 发起咒语解析
    • 查询解析结果
  • 魔法骰子
    • 魔法骰子主题列表
    • 魔法骰子生成
  • 视频生成视频
    • 发起视频生视频
    • 视频生成成功后的视频详情查询
    • 计算视频生视频成本
    • 获取视频生视频模型列表及价格表
    • 视频生视频模型排队情况查询
    • 视频生成结果查询
  • 个性相机
    • 作画模版选项
    • 作画
    • 相机作画轮询接口
    • 相机作画查询接口
  • Ai专业版作画
    • 专业版发起AI作画
    • 专业版作画轮询接口
    • 专业版作画查询接口
    • ControlNet type preprocessor model 参数依赖关系查询
    • 获取专业版模型列表
    • 账户时长余额
    • Ai实验室
      • 分割一切
      • 矢量图
      • 实验室-模型列表
      • Ai实验室详情
      • 一镜到底
      • 生成图生视频
      • 生成图生视频详情查询

例子

正常使用模式
package main

import (
	"context"

	"github.com/XdpCs/wujiesdk"
)

func main() {
	c, err := wujiesdk.NewCredentials("appID", "PrivateKey")
	if err != nil {
		panic(err)
	}

	client := wujiesdk.NewDefaultClient(c)
	ca := wujiesdk.NewCaller(client)
	_, _, err = ca.CancelImage(context.Background(), "2087C400944DF2D6B25BED29C910B1B8")
	if err != nil {
		panic(err)
	}
}

Debug模式
package main

import (
	"context"

	"github.com/XdpCs/wujiesdk"
)

func main() {
	c, err := wujiesdk.NewCredentials("appID", "PrivateKey")
	if err != nil {
		panic(err)
	}

	client := wujiesdk.NewDebugClient(c)
	ca := wujiesdk.NewCaller(client)
	_, _, err = ca.CancelImage(context.Background(), "2087C400944DF2D6B25BED29C910B1B8")
	if err != nil {
		panic(err)
	}
}

Documentation

Index

Constants

View Source
const (
	ContentType             string = "Content-Type"
	ApplicationJson         string = "application/json"
	HTTPHeaderAuthorization string = "Authorization"
)
View Source
const (
	LogOff = iota
	LogError
	LogWarn
	LogInfo
	LogDebug
)

Define the level of the output log

View Source
const DefaultExpiration = 4 * time.Minute
View Source
const Domain string = "https://gate.wujiebantu.com/wj-open/v1"
View Source
const TraceID string = "TRACE_ID"

Variables

View Source
var LogTag = []string{"[error]", "[warn]", "[info]", "[debug]"}

LogTag Tag for each level of log

Functions

func WithCostType added in v1.0.1

func WithCostType(costType SuperSizeCostType) func(s *PostSuperSizeRequest)

Types

type AccelerateImageRequest

type AccelerateImageRequest struct {
	Key     string `json:"key"`
	StepNum int    `json:"step_num"`
}

func NewAccelerateImageRequest

func NewAccelerateImageRequest(key string, stepNum int) *AccelerateImageRequest

func (*AccelerateImageRequest) String

func (a *AccelerateImageRequest) String() string

type AccelerateImageResponse

type AccelerateImageResponse struct {
	BaseResponse
	Data string `json:"data"`
}

type AccountBalanceProResponse added in v1.0.5

type AccountBalanceProResponse struct {
	BaseResponse
	Data struct {
		ResourceBalance int `json:"resourceBalance"`
	} `json:"data"`
}

type ArtworkTemplate

type ArtworkTemplate struct {
	TemplateKey string `json:"template_key"`
	Number      int    `json:"number"`
}

type AvailableIntegralBalanceResponse

type AvailableIntegralBalanceResponse struct {
	BaseResponse
	Data struct {
		Balance int `json:"balance"`
	} `json:"data"`
}

type AvatarDefaultResource

type AvatarDefaultResource struct {
	AvatarKey       string `json:"avatar_key"`
	TemplateOptions []struct {
		TemplateKey  string `json:"template_key"`
		TemplateName string `json:"template_name"`
		ThemeKey     string `json:"theme_key"`
		ThemeName    string `json:"theme_name"`
	} `json:"template_options"`
}

type AvatarDefaultResourceResponse

type AvatarDefaultResourceResponse struct {
	BaseResponse
	Data AvatarDefaultResource `json:"data"`
}

type AvatarInfoData

type AvatarInfoData struct {
	Key             string `json:"key"`
	ModelFusionName string `json:"model_fusion_name"`
	Status          int    `json:"status"`
}

type AvatarInfoResponse

type AvatarInfoResponse struct {
	BaseResponse
	Data AvatarInfoData `json:"data"`
}

type BaseResponse

type BaseResponse struct {
	Code    string `json:"code"`
	Message string `json:"message"`
	Success bool   `json:"success"`
}

type Caller

type Caller struct {
	Client *Client
}

Caller is the caller for wujie sdk

func NewCaller

func NewCaller(c *Client) *Caller

NewCaller create a new caller

func (*Caller) AccelerateImage

func (c *Caller) AccelerateImage(ctx context.Context, aReq *AccelerateImageRequest) (WujieCode, bool, error)

AccelerateImage accelerate image

func (*Caller) AccountBalancePro added in v1.0.5

func (c *Caller) AccountBalancePro(ctx context.Context) (WujieCode, int, error)

AccountBalancePro get account balance pro

func (*Caller) AvailableIntegralBalance

func (c *Caller) AvailableIntegralBalance(ctx context.Context) (WujieCode, int, error)

AvailableIntegralBalance get available integral balance

func (*Caller) AvatarDefaultResource

func (c *Caller) AvatarDefaultResource(ctx context.Context) (WujieCode, *AvatarDefaultResource, error)

AvatarDefaultResource get avatar default resource

func (*Caller) AvatarInfo

func (c *Caller) AvatarInfo(ctx context.Context, key string) (WujieCode, *AvatarInfoData, error)

AvatarInfo get avatar info

func (*Caller) CameraGeneratingInfo added in v1.0.5

func (c *Caller) CameraGeneratingInfo(ctx context.Context, keys []string) (WujieCode, []CameraGeneratingInfo, error)

CameraGeneratingInfo get camera generating info

func (*Caller) CameraInfo added in v1.0.5

func (c *Caller) CameraInfo(ctx context.Context, key string) (WujieCode, *CameraInfo, error)

CameraInfo get camera info

func (*Caller) CameraTemplateOptions added in v1.0.5

func (c *Caller) CameraTemplateOptions(ctx context.Context) (WujieCode, []CameraTemplateOption, error)

CameraTemplateOptions get camera template options

func (*Caller) CancelImage

func (c *Caller) CancelImage(ctx context.Context, key string) (WujieCode, string, error)

CancelImage cancel image

func (*Caller) ControlNetOptionPro added in v1.0.5

func (c *Caller) ControlNetOptionPro(ctx context.Context) (WujieCode, []ControlNetOptionPro, error)

ControlNetOptionPro control net option pro

func (*Caller) CreateAvatar

func (c *Caller) CreateAvatar(ctx context.Context, cReq *CreateAvatarRequest) (WujieCode, *CreateAvatarData, error)

CreateAvatar create avatar

func (*Caller) CreateAvatarArtwork

CreateAvatarArtwork create avatar artwork

func (*Caller) CreateCamera added in v1.0.5

func (c *Caller) CreateCamera(ctx context.Context, cReq *CreateCameraRequest) (WujieCode, *CreateCameraResult, error)

CreateCamera create camera

func (*Caller) CreateImage

func (c *Caller) CreateImage(ctx context.Context, cReq *CreateImageRequest) (WujieCode, *CreateImageData, error)

CreateImage create image

func (*Caller) CreateImagePro

func (c *Caller) CreateImagePro(ctx context.Context, cReq *CreateImageProRequest) (WujieCode, []CreateImageProResult, error)

CreateImagePro create pro image

func (*Caller) CreateInfiniteZoom added in v1.0.6

CreateInfiniteZoom create infinite zoom

func (*Caller) CreateMagicDice

CreateMagicDice create magic dice

func (*Caller) CreateParams

func (c *Caller) CreateParams(ctx context.Context, keys []string) (WujieCode, []CreateParams, error)

CreateParams get create params

func (*Caller) CreateSVD added in v1.0.7

func (c *Caller) CreateSVD(ctx context.Context, cReq *CreateSVDRequest) (WujieCode, string, error)

CreateSVD creates svd

func (*Caller) CreateSegmentation added in v1.0.6

CreateSegmentation create segmentation

func (*Caller) CreateSpellAnalysis

func (c *Caller) CreateSpellAnalysis(ctx context.Context, cReq *CreateSpellAnalysisRequest) (WujieCode, string, error)

CreateSpellAnalysis create spell analysis

func (*Caller) CreateVectorStudio added in v1.0.6

CreateVectorStudio create vector studio

func (*Caller) CreateVideo added in v1.0.1

func (c *Caller) CreateVideo(ctx context.Context, cReq *CreateVideoRequest) (WujieCode, string, error)

CreateVideo create video

func (*Caller) DefaultResourceModel

func (c *Caller) DefaultResourceModel(ctx context.Context, model int32) (WujieCode, *DefaultResourceModelData, error)

DefaultResourceModel get model's default resource

func (*Caller) DefaultResourceStyleModel

func (c *Caller) DefaultResourceStyleModel(ctx context.Context) (WujieCode, []StyleModel, error)

DefaultResourceStyleModel get default resource style model

func (*Caller) DeleteAvatar

func (c *Caller) DeleteAvatar(ctx context.Context, key string) (WujieCode, bool, error)

DeleteAvatar delete avatar

func (*Caller) ExchangePoint

func (c *Caller) ExchangePoint(ctx context.Context, eReq *ExchangePointRequest) (WujieCode, bool, error)

ExchangePoint exchange points with people

func (*Caller) GeneratingInfo

func (c *Caller) GeneratingInfo(ctx context.Context, keys []string) (WujieCode, []ImageGeneratingInfo, error)

GeneratingInfo get image generating info

func (*Caller) GeneratingInfoPro

func (c *Caller) GeneratingInfoPro(ctx context.Context, keys []string) (WujieCode, []GeneratingInfoPro, error)

GeneratingInfoPro get pro image generating info

func (*Caller) GetSuperSize

func (c *Caller) GetSuperSize(ctx context.Context, keys []string) (WujieCode, []SuperSizeInfo, error)

GetSuperSize get super size result

func (*Caller) ImageBatchCheck

func (c *Caller) ImageBatchCheck(ctx context.Context, imageURLList []string) (WujieCode, []ImageCheckInfo, error)

ImageBatchCheck image batch check

func (*Caller) ImageInfo

func (c *Caller) ImageInfo(ctx context.Context, key string) (WujieCode, *ImageInfoData, error)

ImageInfo get image detail

func (*Caller) ImageInfoPro added in v1.0.5

func (c *Caller) ImageInfoPro(ctx context.Context, key string) (WujieCode, *ImageInfoPro, error)

ImageInfoPro get image info pro

func (*Caller) ImageModelQueueInfo

func (c *Caller) ImageModelQueueInfo(ctx context.Context, model int32) (WujieCode, *ImageModelQueueInfoData, error)

ImageModelQueueInfo get image model queue info

func (*Caller) ImagePriceInfo

func (c *Caller) ImagePriceInfo(ctx context.Context, iReq *ImagePriceInfoRequest) (WujieCode, *ImagePriceInfoData, error)

ImagePriceInfo get image price info

func (*Caller) LabInfo added in v1.0.6

func (c *Caller) LabInfo(ctx context.Context, lReq *LabInfoRequest) (WujieCode, *LabInfo, error)

LabInfo get lab info

func (*Caller) LabOptions added in v1.0.6

func (c *Caller) LabOptions(ctx context.Context, lReq *LabOptionsRequest) (WujieCode, []LabOption, error)

LabOptions get lab options

func (*Caller) MagicDiceTheme

func (c *Caller) MagicDiceTheme(ctx context.Context) (WujieCode, []MagicDiceTheme, error)

MagicDiceTheme get magic dice theme

func (*Caller) ModelBaseInfos

func (c *Caller) ModelBaseInfos(ctx context.Context) (WujieCode, []ModelBaseInfo, error)

ModelBaseInfos get model base infos

func (*Caller) ModelBaseInfosPro added in v1.0.5

func (c *Caller) ModelBaseInfosPro(ctx context.Context) (WujieCode, []ModelBaseInfoPro, error)

ModelBaseInfosPro get model base infos pro

func (*Caller) PostSuperSize

func (c *Caller) PostSuperSize(ctx context.Context, pReq *PostSuperSizeRequest) (WujieCode, string, error)

PostSuperSize create super size

func (*Caller) PromptOptimizeResult

func (c *Caller) PromptOptimizeResult(ctx context.Context, taskID string) (WujieCode, *PromptOptimizeResultData, error)

PromptOptimizeResult get prompt optimize result

func (*Caller) PromptOptimizeSubmit

func (c *Caller) PromptOptimizeSubmit(ctx context.Context, pReq *PromptOptimizeSubmitRequest) (WujieCode, bool, error)

PromptOptimizeSubmit submit prompt optimize

func (*Caller) QuerySpell

func (c *Caller) QuerySpell(ctx context.Context) (WujieCode, []QuerySpellData, error)

QuerySpell query spell

func (*Caller) SVDInfo added in v1.0.7

func (c *Caller) SVDInfo(ctx context.Context, key string) (WujieCode, *SVDInfo, error)

SVDInfo get svd info

func (*Caller) SpellAnalysisInfo

func (c *Caller) SpellAnalysisInfo(ctx context.Context, key string) (WujieCode, *SpellAnalysisInfo, error)

SpellAnalysisInfo get spell analysis info

func (*Caller) VideoGeneratingInfo added in v1.0.4

func (c *Caller) VideoGeneratingInfo(ctx context.Context, keys []string) (WujieCode, *VideoGeneratingInfo, error)

VideoGeneratingInfo get video generating info

func (*Caller) VideoInfo added in v1.0.4

func (c *Caller) VideoInfo(ctx context.Context, key string) (WujieCode, *VideoInfo, error)

VideoInfo get video info

func (*Caller) VideoModelQueueInfo added in v1.0.4

func (c *Caller) VideoModelQueueInfo(ctx context.Context, model int32) (WujieCode, *VideoModelQueueInfo, error)

VideoModelQueueInfo get video queue info

func (*Caller) VideoOptionMenuAndPriceTable added in v1.0.4

func (c *Caller) VideoOptionMenuAndPriceTable(ctx context.Context) (WujieCode, *VideoOptionMenuAndPriceTable, error)

VideoOptionMenuAndPriceTable get video option menu and price table

func (*Caller) Youthify

func (c *Caller) Youthify(ctx context.Context, yReq *YouthifyRequest) (WujieCode, *YouthifyData, error)

Youthify youthify image

type CameraArtworkAdvanced added in v1.0.5

type CameraArtworkAdvanced struct {
	FirstDiffusionSteps     int     `json:"first_diffusion_steps"`
	FirstDenoisingStrength  float64 `json:"first_denoising_strength"`
	SecondDiffusionSteps    int     `json:"second_diffusion_steps"`
	SecondDenoisingStrength float64 `json:"second_denoising_strength"`
	CropFacePreprocess      bool    `json:"crop_face_preprocess"`
	BeforeFaceFusionRatio   float64 `json:"before_face_fusion_ratio"`
	AfterFaceFusionRatio    float64 `json:"after_face_fusion_ratio"`
	ApplyFaceFusionBefore   bool    `json:"apply_face_fusion_before"`
	ApplyFaceFusionAfter    bool    `json:"apply_face_fusion_after"`
	ColorShiftMiddle        bool    `json:"color_shift_middle"`
	ColorShiftLast          bool    `json:"color_shift_last"`
	SuperResolution         bool    `json:"super_resolution"`
	BackgroundRestore       bool    `json:"background_restore"`
}

func (*CameraArtworkAdvanced) String added in v1.0.5

func (c *CameraArtworkAdvanced) String() string

type CameraGeneratingInfo added in v1.0.5

type CameraGeneratingInfo struct {
	Key             string  `json:"key"`
	Status          int     `json:"status"`
	ArtworkUrl      string  `json:"artwork_url"`
	ExpectedSeconds int     `json:"expected_seconds"`
	StartGenTime    int     `json:"start_gen_time"`
	CompleteTime    int     `json:"complete_time"`
	CompletePercent float64 `json:"complete_percent"`
	FailMessage     struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
}

type CameraGeneratingInfoResponse added in v1.0.5

type CameraGeneratingInfoResponse struct {
	BaseResponse
	Data struct {
		Infos []CameraGeneratingInfo `json:"infos"`
	} `json:"data"`
}

type CameraInfo added in v1.0.5

type CameraInfo struct {
	Key         string `json:"key"`
	Status      int    `json:"status"`
	ArtworkUrl  string `json:"artwork_url"`
	Width       int    `json:"width"`
	Height      int    `json:"height"`
	Seed        string `json:"seed"`
	FailMessage struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
}

type CameraInfoResponse added in v1.0.5

type CameraInfoResponse struct {
	BaseResponse
	Data CameraInfo `json:"data"`
}

type CameraTemplateOption added in v1.0.5

type CameraTemplateOption struct {
	Key      string `json:"_key"`
	Category string `json:"category"`
	Url      string `json:"url"`
}

type CameraTemplateOptionsResponse added in v1.0.5

type CameraTemplateOptionsResponse struct {
	BaseResponse
	Data []CameraTemplateOption `json:"data"`
}

type CancelImageResponse

type CancelImageResponse struct {
	BaseResponse
	Data string `json:"data"`
}

type Client

type Client struct {
	MaxRetryTimes int       // max retry times
	HttpHooks     HttpHooks // hook before and after request
	Credentials   *Credentials
	Logger        *Logger
	// contains filtered or unexported fields
}

Client is the client for wujie's api

func NewClient added in v1.0.4

func NewClient(httpClient *http.Client, maxRetryTimes int, c *Credentials, logger *Logger) *Client

NewClient new client

func NewDebugClient added in v1.0.4

func NewDebugClient(c *Credentials) *Client

NewDebugClient log http request and response

func NewDefaultClient

func NewDefaultClient(c *Credentials) *Client

NewDefaultClient all api need auth

func (*Client) AccelerateImage

func (c *Client) AccelerateImage(ctx context.Context, aReq *AccelerateImageRequest) (*http.Response, error)

AccelerateImage accelerate image

func (*Client) AccountBalancePro added in v1.0.5

func (c *Client) AccountBalancePro(ctx context.Context) (*http.Response, error)

AccountBalancePro get account balance pro

func (*Client) AddHttpHooks

func (c *Client) AddHttpHooks(hooks ...HttpHook)

AddHttpHooks add hooks

func (*Client) AvailableIntegralBalance

func (c *Client) AvailableIntegralBalance(ctx context.Context) (*http.Response, error)

AvailableIntegralBalance get available integral balance

func (*Client) AvatarDefaultResource

func (c *Client) AvatarDefaultResource(ctx context.Context) (*http.Response, error)

AvatarDefaultResource get avatar default resource

func (*Client) AvatarInfo

func (c *Client) AvatarInfo(ctx context.Context, key string) (*http.Response, error)

AvatarInfo get avatar info

func (*Client) CameraGeneratingInfo added in v1.0.5

func (c *Client) CameraGeneratingInfo(ctx context.Context, keys []string) (*http.Response, error)

CameraGeneratingInfo get camera generating info

func (*Client) CameraInfo added in v1.0.5

func (c *Client) CameraInfo(ctx context.Context, key string) (*http.Response, error)

CameraInfo get camera info

func (*Client) CameraTemplateOptions added in v1.0.5

func (c *Client) CameraTemplateOptions(ctx context.Context) (*http.Response, error)

CameraTemplateOptions get camera template options

func (*Client) CancelImage

func (c *Client) CancelImage(ctx context.Context, key string) (*http.Response, error)

CancelImage cancel image

func (*Client) ControlNetOptionPro added in v1.0.5

func (c *Client) ControlNetOptionPro(ctx context.Context) (*http.Response, error)

ControlNetOptionPro control net option pro

func (*Client) CreateAvatar

func (c *Client) CreateAvatar(ctx context.Context, cReq *CreateAvatarRequest) (*http.Response, error)

CreateAvatar create avatar

func (*Client) CreateAvatarArtwork

func (c *Client) CreateAvatarArtwork(ctx context.Context, cReq *CreateAvatarArtworkRequest) (*http.Response, error)

CreateAvatarArtwork create avatar artwork

func (*Client) CreateCamera added in v1.0.5

func (c *Client) CreateCamera(ctx context.Context, cReq *CreateCameraRequest) (*http.Response, error)

CreateCamera create camera

func (*Client) CreateImage

func (c *Client) CreateImage(ctx context.Context, cReq *CreateImageRequest) (*http.Response, error)

CreateImage create image

func (*Client) CreateImagePro

func (c *Client) CreateImagePro(ctx context.Context, cReq *CreateImageProRequest) (*http.Response, error)

CreateImagePro create pro image

func (*Client) CreateInfiniteZoom added in v1.0.6

func (c *Client) CreateInfiniteZoom(ctx context.Context, cReq *CreateInfiniteZoomRequest) (*http.Response, error)

CreateInfiniteZoom create infinite zoom

func (*Client) CreateMagicDice

func (c *Client) CreateMagicDice(ctx context.Context, cReq *CreateMagicDiceRequest) (*http.Response, error)

CreateMagicDice create magic dice

func (*Client) CreateParams

func (c *Client) CreateParams(ctx context.Context, keys []string) (*http.Response, error)

CreateParams get create params

func (*Client) CreateSVD added in v1.0.7

func (c *Client) CreateSVD(ctx context.Context, cReq *CreateSVDRequest) (*http.Response, error)

CreateSVD creates svd

func (*Client) CreateSegmentation added in v1.0.6

func (c *Client) CreateSegmentation(ctx context.Context, cReq *CreateSegmentationRequest) (*http.Response, error)

CreateSegmentation create segmentation

func (*Client) CreateSpellAnalysis

func (c *Client) CreateSpellAnalysis(ctx context.Context, cReq *CreateSpellAnalysisRequest) (*http.Response, error)

CreateSpellAnalysis create spell analysis

func (*Client) CreateVectorStudio added in v1.0.6

func (c *Client) CreateVectorStudio(ctx context.Context, cReq *CreateVectorStudioRequest) (*http.Response, error)

CreateVectorStudio create vector studio

func (*Client) CreateVideo added in v1.0.1

func (c *Client) CreateVideo(ctx context.Context, cReq *CreateVideoRequest) (*http.Response, error)

CreateVideo create video

func (*Client) CtxGetJson added in v1.0.1

func (c *Client) CtxGetJson(ctx context.Context, api string, params url.Values) (*http.Response, error)

CtxGetJson http get json

func (*Client) CtxPostJson added in v1.0.1

func (c *Client) CtxPostJson(ctx context.Context, api string, params url.Values, body interface{}) (*http.Response, error)

CtxPostJson http post json

func (*Client) DefaultResourceModel

func (c *Client) DefaultResourceModel(ctx context.Context, model int32) (*http.Response, error)

DefaultResourceModel get model's default resource

func (*Client) DefaultResourceStyleModel

func (c *Client) DefaultResourceStyleModel(ctx context.Context) (*http.Response, error)

DefaultResourceStyleModel get default resource style model

func (*Client) DeleteAvatar

func (c *Client) DeleteAvatar(ctx context.Context, key string) (*http.Response, error)

DeleteAvatar delete avatar

func (*Client) ExchangePoint

func (c *Client) ExchangePoint(ctx context.Context, eReq *ExchangePointRequest) (*http.Response, error)

ExchangePoint exchange points with people

func (*Client) GeneratingInfo

func (c *Client) GeneratingInfo(ctx context.Context, keys []string) (*http.Response, error)

GeneratingInfo get image generating info

func (*Client) GeneratingInfoPro

func (c *Client) GeneratingInfoPro(ctx context.Context, keys []string) (*http.Response, error)

GeneratingInfoPro get pro image generating info

func (*Client) GetSuperSize

func (c *Client) GetSuperSize(ctx context.Context, keys []string) (*http.Response, error)

GetSuperSize get super size result

func (*Client) HTTPClient

func (c *Client) HTTPClient() *http.Client

HTTPClient return http client

func (*Client) ImageBatchCheck

func (c *Client) ImageBatchCheck(ctx context.Context, imageURLList []string) (*http.Response, error)

ImageBatchCheck image batch check

func (*Client) ImageInfo

func (c *Client) ImageInfo(ctx context.Context, key string) (*http.Response, error)

ImageInfo get image detail

func (*Client) ImageInfoPro added in v1.0.5

func (c *Client) ImageInfoPro(ctx context.Context, key string) (*http.Response, error)

ImageInfoPro get image info pro

func (*Client) ImageModelQueueInfo

func (c *Client) ImageModelQueueInfo(ctx context.Context, model int32) (*http.Response, error)

ImageModelQueueInfo get image model queue info

func (*Client) ImagePriceInfo

func (c *Client) ImagePriceInfo(ctx context.Context, iReq *ImagePriceInfoRequest) (*http.Response, error)

ImagePriceInfo get image price info

func (*Client) LabInfo added in v1.0.6

func (c *Client) LabInfo(ctx context.Context, lReq *LabInfoRequest) (*http.Response, error)

LabInfo get lab info

func (*Client) LabOptions added in v1.0.6

func (c *Client) LabOptions(ctx context.Context, lReq *LabOptionsRequest) (*http.Response, error)

LabOptions get lab options

func (*Client) LoggerHTTPReq

func (c *Client) LoggerHTTPReq(req *http.Request)

LoggerHTTPReq Print the header information of the http request

func (*Client) LoggerHTTPResp

func (c *Client) LoggerHTTPResp(resp *http.Response)

LoggerHTTPResp Print Response to http request

func (*Client) MagicDiceTheme

func (c *Client) MagicDiceTheme(ctx context.Context) (*http.Response, error)

MagicDiceTheme get magic dice theme

func (*Client) ModelBaseInfos

func (c *Client) ModelBaseInfos(ctx context.Context) (*http.Response, error)

ModelBaseInfos get model base infos

func (*Client) ModelBaseInfosPro added in v1.0.5

func (c *Client) ModelBaseInfosPro(ctx context.Context) (*http.Response, error)

ModelBaseInfosPro get model base infos pro

func (*Client) PostSuperSize

func (c *Client) PostSuperSize(ctx context.Context, sReq *PostSuperSizeRequest) (*http.Response, error)

PostSuperSize create super size

func (*Client) PromptOptimizeResult

func (c *Client) PromptOptimizeResult(ctx context.Context, taskID string) (*http.Response, error)

PromptOptimizeResult get prompt optimize result

func (*Client) PromptOptimizeSubmit

func (c *Client) PromptOptimizeSubmit(ctx context.Context, pReq *PromptOptimizeSubmitRequest) (*http.Response, error)

PromptOptimizeSubmit submit prompt optimize

func (*Client) QuerySpell

func (c *Client) QuerySpell(ctx context.Context) (*http.Response, error)

QuerySpell query spell

func (*Client) SVDInfo added in v1.0.7

func (c *Client) SVDInfo(ctx context.Context, key string) (*http.Response, error)

SVDInfo get svd info

func (*Client) SetHTTPClient

func (c *Client) SetHTTPClient(httpClient *http.Client)

SetHTTPClient set http client

func (*Client) SpellAnalysisInfo

func (c *Client) SpellAnalysisInfo(ctx context.Context, key string) (*http.Response, error)

SpellAnalysisInfo get spell analysis info

func (*Client) VideoGeneratingInfo added in v1.0.4

func (c *Client) VideoGeneratingInfo(ctx context.Context, keys []string) (*http.Response, error)

VideoGeneratingInfo get video generating info

func (*Client) VideoInfo added in v1.0.4

func (c *Client) VideoInfo(ctx context.Context, key string) (*http.Response, error)

VideoInfo get video info

func (*Client) VideoModelQueueInfo added in v1.0.4

func (c *Client) VideoModelQueueInfo(ctx context.Context, model int32) (*http.Response, error)

VideoModelQueueInfo get video queue info

func (*Client) VideoOptionMenuAndPriceTable added in v1.0.4

func (c *Client) VideoOptionMenuAndPriceTable(ctx context.Context) (*http.Response, error)

VideoOptionMenuAndPriceTable get video option menu and price table

func (*Client) WriteLog

func (c *Client) WriteLog(LogLevel int, format string, a ...interface{})

WriteLog output log function

func (*Client) Youthify

func (c *Client) Youthify(ctx context.Context, yReq *YouthifyRequest) (*http.Response, error)

Youthify youthify image

type ControlNetOptionPro added in v1.0.5

type ControlNetOptionPro struct {
	Code  int    `json:"code"`
	Name  string `json:"name"`
	Model []struct {
		Code      int    `json:"code"`
		Name      string `json:"name"`
		IsDefault bool   `json:"is_default"`
	} `json:"model"`
	Preprocessor []struct {
		Code       int    `json:"code"`
		Name       string `json:"name"`
		Resolution struct {
			Name   string `json:"name"`
			Min    int    `json:"min"`
			Max    int    `json:"max"`
			Step   int    `json:"step"`
			Value  int    `json:"value"`
			NameCn string `json:"name_cn"`
		} `json:"resolution"`
		ThresholdA struct {
			Name   string `json:"name"`
			Min    int    `json:"min"`
			Max    int    `json:"max"`
			Step   int    `json:"step"`
			Value  int    `json:"value"`
			NameCn string `json:"name_cn"`
		} `json:"threshold_a"`
		ThresholdB struct {
			Name   string `json:"name"`
			Min    int    `json:"min"`
			Max    int    `json:"max"`
			Step   int    `json:"step"`
			Value  int    `json:"value"`
			NameCn string `json:"name_cn"`
		} `json:"threshold_b"`
		IsDefault bool `json:"is_default"`
	} `json:"preprocessor"`
}

type ControlNetOptionProResponse added in v1.0.5

type ControlNetOptionProResponse struct {
	BaseResponse
	Data []ControlNetOptionPro `json:"data"`
}

type CreateAvatarArtworkData

type CreateAvatarArtworkData struct {
	Keys    []string `json:"keys"`
	Results []struct {
		Key            string `json:"key"`
		ExpectedSecond int    `json:"expected_second"`
	} `json:"results"`
	ExpectedIntegralCost int `json:"expected_integral_cost"`
}

type CreateAvatarArtworkRequest

type CreateAvatarArtworkRequest struct {
	AvatarKey        string            `json:"avatar_key"`
	Prompt           string            `json:"prompt"`
	ArtworkTemplates []ArtworkTemplate `json:"artwork_templates"`
	NotifyURL        string            `json:"notify_url"`
}

func (*CreateAvatarArtworkRequest) String

func (c *CreateAvatarArtworkRequest) String() string

type CreateAvatarArtworkResponse

type CreateAvatarArtworkResponse struct {
	BaseResponse
	Data CreateAvatarArtworkData `json:"data"`
}

type CreateAvatarData

type CreateAvatarData struct {
	Key            string `json:"key"`
	ExpectedSecond int    `json:"expected_second"`
}

type CreateAvatarRequest

type CreateAvatarRequest struct {
	TrainImageUrlList []string `json:"train_image_url_list"`
	NotifyUrl         string   `json:"notify_url"`
}

func (*CreateAvatarRequest) String

func (c *CreateAvatarRequest) String() string

type CreateAvatarResponse

type CreateAvatarResponse struct {
	BaseResponse
	Data CreateAvatarData `json:"data"`
}

type CreateCameraRequest added in v1.0.5

type CreateCameraRequest struct {
	AvtarKey              string                 `json:"avtar_key"`
	CameraArtworkAdvanced *CameraArtworkAdvanced `json:"camera_artwork_advanced"`
	TemplateCreateParam   *TemplateCreateParam   `json:"template_create_param"`
}

func (*CreateCameraRequest) String added in v1.0.5

func (c *CreateCameraRequest) String() string

type CreateCameraResponse added in v1.0.5

type CreateCameraResponse struct {
	BaseResponse
	Data CreateCameraResult `json:"data"`
}

type CreateCameraResult added in v1.0.5

type CreateCameraResult struct {
	Keys                 []string `json:"keys"`
	ExpectedDurationCost int      `json:"expected_duration_cost"`
}

type CreateImageBaseCallBackResp added in v1.0.9

type CreateImageBaseCallBackResp struct {
	BatchTaskKey string `json:"batch_task_key"`
	Code         int    `json:"code"`
	Key          string `json:"key"`
	Success      bool   `json:"success"`
}

type CreateImageCallBackFailedResp added in v1.0.9

type CreateImageCallBackFailedResp struct {
	FailMessage         string `json:"fail_message"`
	IntegralCost        int    `json:"integral_cost"`
	IntegralCostMessage string `json:"integral_cost_message"`
	CreateImageBaseCallBackResp
}

type CreateImageCallBackSuccessResp added in v1.0.9

type CreateImageCallBackSuccessResp struct {
	ArtworkUrl string `json:"artwork_url"`
	AuditInfo  struct {
		CheckFail       bool   `json:"check_fail"`
		Hit             bool   `json:"hit"`
		DataId          string `json:"data_id"`
		TotalSuggestion string `json:"total_suggestion"`
		ScanSceneDTOS   []struct {
			Rate       float64 `json:"rate"`
			Suggestion string  `json:"suggestion"`
			Label      string  `json:"label"`
			LabelDesc  string  `json:"label_desc"`
			Scene      string  `json:"scene"`
		} `json:"scan_scene_d_t_o_s"`
		Url string `json:"url"`
	} `json:"audit_info"`
	CompleteTime        int    `json:"complete_time"`
	IntegralCost        int    `json:"integral_cost"`
	IntegralCostMessage string `json:"integral_cost_message"`
	InvolveYellow       int    `json:"involve_yellow"`
	CreateImageBaseCallBackResp
}

type CreateImageData

type CreateImageData struct {
	Keys    []string `json:"keys"`
	Results []struct {
		Key            string `json:"key"`
		ExpectedSecond int    `json:"expected_second"`
		BatchTaskKey   string `json:"batch_task_key"`
	} `json:"results"`
	ExpectedIntegralCost int `json:"expected_integral_cost"`
}

type CreateImageProData

type CreateImageProData struct {
	Results []CreateImageProResult `json:"results"`
}

type CreateImageProRequest

type CreateImageProRequest struct {
	ModelCode         int    `json:"model_code"`
	Prompt            string `json:"prompt"`
	Width             int    `json:"width"`
	Height            int    `json:"height"`
	SupersizeMultiple int    `json:"supersize_multiple"`
	PrefineMultiple   int    `json:"prefine_multiple"`
	BatchCount        int    `json:"batch_count"`
	OptionParam       struct {
		ModelFusion []struct {
			Key    string  `json:"key"`
			Weight float64 `json:"weight"`
		} `json:"model_fusion"`
		Character []string `json:"character"`
	} `json:"option_param"`
	AdvancedParam struct {
		UcPrompt     string  `json:"uc_prompt"`
		RestoreFaces bool    `json:"restore_faces"`
		Tilling      bool    `json:"tilling"`
		Seed         string  `json:"seed"`
		VaeFile      string  `json:"vae_file"`
		Cfg          int     `json:"cfg"`
		SamplerSteps int     `json:"sampler_steps"`
		SamplerIndex int     `json:"sampler_index"`
		ClipSkip     int     `json:"clip_skip"`
		Ensd         float64 `json:"ensd"`
	} `json:"advanced_param"`
	ImgToImgParam struct {
		InitImageUrl     string `json:"init_image_url"`
		CreativityDegree int    `json:"creativity_degree"`
		ResizeMode       int    `json:"resize_mode"`
	} `json:"img_to_img_param"`
	ControlNetParams []struct {
		Type                int    `json:"type"`
		Preprocessor        int    `json:"preprocessor"`
		Model               int    `json:"model"`
		ControlWeight       int    `json:"control_weight"`
		StartingControlStep int    `json:"starting_control_step"`
		EndingControlStep   int    `json:"ending_control_step"`
		ControlMode         int    `json:"control_mode"`
		ImageUrl            string `json:"image_url"`
		ImageWidth          int    `json:"image_width"`
		ImageHeight         int    `json:"image_height"`
		Mask                string `json:"mask"`
		MaskUrl             string `json:"mask_url"`
		ProcessorRes        int    `json:"processor_res"`
		ThresholdA          int    `json:"threshold_a"`
		ThresholdB          int    `json:"threshold_b"`
		ResizeMode          int    `json:"resize_mode"`
		PixelPerfect        bool   `json:"pixel_perfect"`
	} `json:"control_net_params"`
	InpaintingPluginDTO struct {
		MaskZoneImageUrl      string `json:"mask_zone_image_url"`
		MaskBlur              int    `json:"mask_blur"`
		InpaintingFill        int    `json:"inpainting_fill"`
		InpaintingMaskInvert  bool   `json:"inpainting_mask_invert"`
		InpaintFullResPadding int    `json:"inpaint_full_res_padding"`
		InpaintFullRes        bool   `json:"inpaint_full_res"`
	} `json:"inpainting_plugin_d_t_o"`
	TiledDiffusionDTO struct {
		Enabled           bool `json:"enabled"`
		DrawBackground    bool `json:"draw_background"`
		BboxControlStates []struct {
			Enabled             bool    `json:"enabled"`
			X                   float64 `json:"x"`
			Y                   float64 `json:"y"`
			W                   float64 `json:"w"`
			H                   float64 `json:"h"`
			Prompt              string  `json:"prompt"`
			NegPrompt           string  `json:"neg_prompt"`
			ModelInputPrompt    string  `json:"model_input_prompt"`
			ModelInputNegPrompt string  `json:"model_input_neg_prompt"`
			BlendMode           string  `json:"blend_mode"`
			Seed                int     `json:"seed"`
			OptionParam         struct {
				ModelFusion []struct {
					Key    string  `json:"key"`
					Weight float64 `json:"weight"`
				} `json:"model_fusion"`
				Character []string `json:"character"`
			} `json:"option_param"`
		} `json:"bbox_control_states"`
	} `json:"tiled_diffusion_d_t_o"`
	FaceEditorDTO struct {
		Enabled                 bool     `json:"enabled"`
		UseMinimalArea          bool     `json:"use_minimal_area"`
		AffectedAreas           []string `json:"affected_areas"`
		MaskSize                int      `json:"mask_size"`
		MaskBlur                int      `json:"mask_blur"`
		MaxFaceCount            int      `json:"max_face_count"`
		Confidence              float64  `json:"confidence"`
		FaceMargin              float64  `json:"face_margin"`
		FaceSize                int      `json:"face_size"`
		IgnoreLargerFaces       bool     `json:"ignore_larger_faces"`
		Strength1               float64  `json:"strength1"`
		ApplyInsideMaskOnly     bool     `json:"apply_inside_mask_only"`
		Strength2               float64  `json:"strength2"`
		PromptForFace           string   `json:"prompt_for_face"`
		ModelInputPromptForFace string   `json:"model_input_prompt_for_face"`
	} `json:"face_editor_d_t_o"`
	UltimateUpscaleDTO struct {
		Enabled         bool    `json:"enabled"`
		TargetSizeType  int     `json:"target_size_type"`
		UpscalerIndex   int     `json:"upscaler_index"`
		RedrawMode      int     `json:"redraw_mode"`
		TileWidth       int     `json:"tile_width"`
		TileHeight      int     `json:"tile_height"`
		MaskBlur        int     `json:"mask_blur"`
		SeamsFixType    int     `json:"seams_fix_type"`
		SeamsFixWidth   int     `json:"seams_fix_width"`
		SeamsFixDenoise float64 `json:"seams_fix_denoise"`
		SeamsFixPadding int     `json:"seams_fix_padding"`
	} `json:"ultimate_upscale_d_t_o"`
	AdetailerDTOS []struct {
		AdModel                  string `json:"ad_model"`
		AdNegativePrompt         string `json:"ad_negative_prompt"`
		AdPrompt                 string `json:"ad_prompt"`
		ModelInputNegativePrompt string `json:"model_input_negative_prompt"`
		ModelInputPrompt         string `json:"model_input_prompt"`
	} `json:"adetailer_d_t_o_s"`
}

func (*CreateImageProRequest) String

func (c *CreateImageProRequest) String() string

type CreateImageProResponse

type CreateImageProResponse struct {
	BaseResponse
	Data CreateImageProData `json:"data"`
}

type CreateImageProResult

type CreateImageProResult struct {
	Key            string `json:"key"`
	ExpectedSecond int    `json:"expected_second"`
}

type CreateImageRequest

type CreateImageRequest struct {
	Model                int             `json:"model"`
	Prompt               string          `json:"prompt"`
	UcPrompt             string          `json:"uc_prompt,omitempty"`
	FullyCustomUcPrompt  bool            `json:"fully_custom_uc_prompt,omitempty"`
	Num                  int             `json:"num"`
	Width                int             `json:"width,omitempty"`
	Height               int             `json:"height,omitempty"`
	InitImageURL         string          `json:"init_image_url,omitempty"`
	InitWidth            int             `json:"init_width,omitempty"`
	InitHeight           int             `json:"init_height,omitempty"`
	CreativityDegree     int             `json:"creativity_degree,omitempty"`
	InitImageSimilarity  int             `json:"init_image_similarity,omitempty"`
	SuperSizeMultiple    float64         `json:"super_size_multiple,omitempty"`
	PrefineMultiple      float64         `json:"prefine_multiple,omitempty"`
	ImageType            []string        `json:"image_type,omitempty"`
	Style                []string        `json:"style,omitempty"`
	Artist               string          `json:"artist,omitempty"`
	Artists              []string        `json:"artists,omitempty"`
	ElementMagic         []string        `json:"element_magic,omitempty"`
	StyleDecoration      []string        `json:"style_decoration,omitempty"`
	ModelParam           string          `json:"model_param,omitempty"`
	AccelerateTimes      int             `json:"accelerate_times,omitempty"`
	Vendor               int             `json:"vendor,omitempty"`
	Character            []string        `json:"character,omitempty"`
	ModelFusion          []ModelFusion   `json:"model_fusion,omitempty"`
	StyleModel           string          `json:"style_model,omitempty"`
	Pattern              string          `json:"pattern,omitempty"`
	PretreatmentMethod   string          `json:"pretreatment_method,omitempty"`
	Steps                int             `json:"steps,omitempty"`
	Cfg                  int             `json:"cfg,omitempty"`
	SamplerIndex         int             `json:"sampler_index,omitempty"`
	Seed                 string          `json:"seed,omitempty"`
	QueueType            int             `json:"queue_type,omitempty"`
	CreateSource         int             `json:"create_source,omitempty"`
	ClipSkip             int             `json:"clip_skip,omitempty"`
	ControlWeight        int             `json:"control_weight,omitempty"`
	ControlImg2Img       bool            `json:"control_img2_img,omitempty"`
	ControlMode          int             `json:"control_mode,omitempty"`
	DetectGrayNum        int             `json:"detect_gray_num,omitempty"`
	NotifyURL            string          `json:"notify_url,omitempty"`
	ServiceContext       *ServiceContext `json:"service_context,omitempty"`
	MultiDiffusion       *MultiDiffusion `json:"multi_diffusion,omitempty"`
	ServiceType          int             `json:"service_type,omitempty"`
	Extra                string          `json:"extra,omitempty"`
	ProMethod            string          `json:"pro_method,omitempty"`
	HrSecondPassStrength float64         `json:"hr_second_pass_strength,omitempty"`
	MjParam              *MjParam        `json:"mj_param,omitempty"`
	LayerDiffusion       *LayerDiffusion `json:"layer_diffusion,omitempty"`
}

func (*CreateImageRequest) String

func (c *CreateImageRequest) String() string

type CreateImageResponse

type CreateImageResponse struct {
	BaseResponse
	Data CreateImageData `json:"data"`
}

type CreateInfiniteZoomInput added in v1.0.6

type CreateInfiniteZoomInput struct {
	Cfg               int    `json:"cfg"`
	Creativity        int    `json:"creativity"`
	ExitImageUrl      string `json:"exitImageUrl"`
	ExitImageUrlParam struct {
		Key string `json:"key"`
		Url string `json:"url"`
	} `json:"exitImageUrlParam"`
	Fps []struct {
		Prompt string `json:"prompt"`
		Second int    `json:"second"`
	} `json:"fps"`
	ImageHeight       int    `json:"imageHeight"`
	ImageSeed         uint   `json:"imageSeed"`
	ImageWidth        int    `json:"imageWidth"`
	InitImageUrl      string `json:"initImageUrl"`
	InitImageUrlParam struct {
		Key string `json:"key"`
		Url string `json:"url"`
	} `json:"initImageUrlParam"`
	MaskFeathering              int    `json:"maskFeathering"`
	ModelCode                   int    `json:"modelCode"`
	MovementSpeed               int    `json:"movementSpeed"`
	NotifyUrl                   string `json:"notifyUrl"`
	PromptPrefix                string `json:"promptPrefix"`
	PromptSuffix                string `json:"promptSuffix"`
	Sampler                     int    `json:"sampler"`
	UcPrompt                    string `json:"ucPrompt"`
	VideoEndFreezeFrameNumber   int    `json:"videoEndFreezeFrameNumber"`
	VideoFrameRate              int    `json:"videoFrameRate"`
	VideoSecond                 int    `json:"videoSecond"`
	VideoStartFreezeFrameNumber int    `json:"videoStartFreezeFrameNumber"`
	VideoUrl                    string `json:"videoUrl"`
	VideoZoomMode               int    `json:"videoZoomMode"`
}

func (*CreateInfiniteZoomInput) String added in v1.0.6

func (c *CreateInfiniteZoomInput) String() string

type CreateInfiniteZoomRequest added in v1.0.6

type CreateInfiniteZoomRequest struct {
	Input *CreateInfiniteZoomInput `json:"input"`
}

func (*CreateInfiniteZoomRequest) String added in v1.0.6

func (c *CreateInfiniteZoomRequest) String() string

type CreateInfiniteZoomResponse added in v1.0.6

type CreateInfiniteZoomResponse struct {
	BaseResponse
	Data struct {
		AiLabMutation struct {
			InfiniteZoomCreateV2 CreateInfiniteZoomResult `json:"infiniteZoomCreateV2"`
		} `json:"aiLabMutation"`
	} `json:"data"`
}

type CreateInfiniteZoomResult added in v1.0.6

type CreateInfiniteZoomResult struct {
	Key    string `json:"key"`
	AiType string `json:"aiType"`
}

type CreateMagicDiceLanguage

type CreateMagicDiceLanguage string

CreateMagicDiceLanguage create magic dice language /ai/magic_dice/search

const (
	ChineseCreateMagicDiceLanguage CreateMagicDiceLanguage = "CHINESE"
	EnglishCreateMagicDiceLanguage CreateMagicDiceLanguage = "ENGLISH"
)

type CreateMagicDiceModel

type CreateMagicDiceModel string

CreateMagicDiceModel create magic dice model /ai/magic_dice/search

const (
	StableDiffusionCreateMagicDiceModel CreateMagicDiceModel = "STABLE_DIFFUSION"
	AnimeDiffusionCreateMagicDiceModel  CreateMagicDiceModel = "ANIME_DIFFUSION"
	StyleCreateMagicDiceModel           CreateMagicDiceModel = "STYLE"
)

type CreateMagicDiceRequest

type CreateMagicDiceRequest struct {
	Type     CreateMagicDiceType     `json:"type"`
	Model    CreateMagicDiceModel    `json:"model"`
	Keyword  string                  `json:"keyword"`
	ThemeId  int                     `json:"theme_id"`
	Language CreateMagicDiceLanguage `json:"language"`
}

func (*CreateMagicDiceRequest) String

func (c *CreateMagicDiceRequest) String() string

type CreateMagicDiceResponse

type CreateMagicDiceResponse struct {
	BaseResponse
	Data CreateMagicDiceResult `json:"data"`
}

type CreateMagicDiceResult

type CreateMagicDiceResult struct {
	PromptChinese string   `json:"prompt_chinese"`
	PromptEnglish string   `json:"prompt_english"`
	Model         string   `json:"model"`
	ModelCode     int      `json:"model_code"`
	Cfg           int      `json:"cfg"`
	ImageType     []string `json:"image_type"`
	Style         []string `json:"style"`
	Artists       []string `json:"artists"`
	ElementMagic  []string `json:"element_magic"`
	Character     []string `json:"character"`
	ModelFusion   []struct {
		Key    string  `json:"key"`
		Weight float64 `json:"weight"`
	} `json:"model_fusion"`
}

type CreateMagicDiceType

type CreateMagicDiceType string

CreateMagicDiceType create magic dice type /ai/magic_dice/search

const (
	MagicDicCreateMagicDiceType   CreateMagicDiceType = "MAGIC_DICE"
	SmartMagicCreateMagicDiceType CreateMagicDiceType = "SMART_MAGIC"
)

type CreateParams

type CreateParams struct {
	Key                      string  `json:"key"`
	ArtworkURL               string  `json:"artwork_url"`
	Model                    int     `json:"model"`
	ModelAsString            string  `json:"model_as_string"`
	ModelCode                int     `json:"model_code"`
	ModelCodeAsString        string  `json:"model_code_as_string"`
	Pattern                  string  `json:"pattern"`
	Prompt                   string  `json:"prompt"`
	UcPrompt                 string  `json:"uc_prompt"`
	CreativityDegree         int     `json:"creativity_degree"`
	CreativityDegreeAsString string  `json:"creativity_degree_as_string"`
	InitImageURL             string  `json:"init_image_url"`
	InitWidth                int     `json:"init_width"`
	InitWidthAsString        string  `json:"init_width_as_string"`
	InitHeight               int     `json:"init_height"`
	InitHeightAsString       string  `json:"init_height_as_string"`
	PretreatmentMethod       string  `json:"pretreatment_method"`
	MaskImageURL             string  `json:"mask_image_url"`
	MaskZoneImageURL         string  `json:"mask_zone_image_url"`
	Size                     string  `json:"size"`
	Nature                   int     `json:"nature"`
	NatureAsString           string  `json:"nature_as_string"`
	PromptOptimize           int     `json:"prompt_optimize"`
	PromptOptimizeAsString   string  `json:"prompt_optimize_as_string"`
	StyleDecoration          string  `json:"style_decoration"`
	Character                string  `json:"character"`
	ModelFusion              string  `json:"model_fusion"`
	StyleModel               string  `json:"style_model"`
	ResolutionInfo           string  `json:"resolution_info"`
	Steps                    int     `json:"steps"`
	StepsAsString            string  `json:"steps_as_string"`
	Cfg                      float64 `json:"cfg"`
	CfgAsString              string  `json:"cfg_as_string"`
	SamplerIndex             string  `json:"sampler_index"`
	Seed                     string  `json:"seed"`
	SuperType                int     `json:"super_type"`
	SuperTypeAsString        string  `json:"super_type_as_string"`
	ChatGptOptimize          bool    `json:"chat_gpt_optimize"`
	ChatGptOptimizeAsString  string  `json:"chat_gpt_optimize_as_string"`
	ClipSkip                 int     `json:"clip_skip"`
	ClipSkipAsString         string  `json:"clip_skip_as_string"`
	Ensd                     float64 `json:"ensd"`
	EnsdAsString             string  `json:"ensd_as_string"`
	RepairTheHand            bool    `json:"repair_the_hand"`
	RepairTheHandAsString    string  `json:"repair_the_hand_as_string"`
	ConsumedTime             string  `json:"consumed_time"`
}

type CreateParamsResponse

type CreateParamsResponse struct {
	BaseResponse
	Data []CreateParams `json:"data"`
}

type CreateSVDRequest added in v1.0.7

type CreateSVDRequest struct {
	InitImageUrl    string  `json:"init_image_url"`
	Duration        int     `json:"duration"`
	MotionAmplitude int     `json:"motion_amplitude,omitempty"`
	NoiseIntensity  float64 `json:"noise_intensity,omitempty"`
	RandomSeed      string  `json:"random_seed,omitempty"`
	ChargeType      int     `json:"charge_type,omitempty"`
	NotifyUrl       string  `json:"notify_url,omitempty"`
}

func (*CreateSVDRequest) String added in v1.0.7

func (c *CreateSVDRequest) String() string

type CreateSVDResponse added in v1.0.7

type CreateSVDResponse struct {
	BaseResponse
	Data struct {
		Key string `json:"key"`
	} `json:"data"`
}

type CreateSegmentationInput added in v1.0.6

type CreateSegmentationInput struct {
	ImageUrl      string `json:"imageUrl"`
	ImageUrlParam struct {
		Key string `json:"key"`
		Url string `json:"url"`
	} `json:"imageUrlParam"`
	ImageUrls      []string `json:"imageUrls"`
	ModelCode      int      `json:"modelCode"`
	NegativePoints []struct {
		X struct {
		} `json:"x"`
		Y struct {
		} `json:"y"`
	} `json:"negativePoints"`
	NotifyUrl      string `json:"notifyUrl"`
	PositivePoints []struct {
		X struct {
		} `json:"x"`
		Y struct {
		} `json:"y"`
	} `json:"positivePoints"`
	Prompt    string `json:"prompt"`
	Threshold int    `json:"threshold"`
}

type CreateSegmentationRequest added in v1.0.6

type CreateSegmentationRequest struct {
	Input *CreateSegmentationInput `json:"input"`
}

func (*CreateSegmentationRequest) String added in v1.0.6

func (c *CreateSegmentationRequest) String() string

type CreateSegmentationResponse added in v1.0.6

type CreateSegmentationResponse struct {
	BaseResponse
	Data struct {
		AiLabMutation struct {
			SegmentAnythingCreateV2 CreateSegmentationResult `json:"segmentAnythingCreateV2"`
		} `json:"aiLabMutation"`
	} `json:"data"`
}

type CreateSegmentationResult added in v1.0.6

type CreateSegmentationResult struct {
	AiType string `json:"aiType"`
	Key    string `json:"key"`
}

type CreateSpellAnalysisRequest

type CreateSpellAnalysisRequest struct {
	ImageURL  string `json:"image_url"`
	NotifyURL string `json:"notify_url"`
}

func (*CreateSpellAnalysisRequest) String

func (c *CreateSpellAnalysisRequest) String() string

type CreateSpellAnalysisResponse

type CreateSpellAnalysisResponse struct {
	BaseResponse
	Data struct {
		Key string `json:"key"`
	} `json:"data"`
}

type CreateVectorStudioInput added in v1.0.6

type CreateVectorStudioInput struct {
	Height         int    `json:"height"`
	InitImage      string `json:"initImage"`
	InitImageParam struct {
		Key string `json:"key"`
		Url string `json:"url"`
	} `json:"initImageParam"`
	NoiseTolerance int    `json:"noiseTolerance"`
	NotifyUrl      string `json:"notifyUrl"`
	Quantize       int    `json:"quantize"`
	Style          int    `json:"style"`
	Threshold      int    `json:"threshold"`
	TransparentPNG bool   `json:"transparentPNG"`
	VectorRes      []struct {
		Type string `json:"type"`
		Url  string `json:"url"`
	} `json:"vectorRes"`
	Vectorization     bool `json:"vectorization"`
	WhiteMarginFormat bool `json:"whiteMarginFormat"`
	WhiteOpaque       bool `json:"whiteOpaque"`
	Width             int  `json:"width"`
}

type CreateVectorStudioRequest added in v1.0.6

type CreateVectorStudioRequest struct {
	Input *CreateVectorStudioInput `json:"input"`
}

func (*CreateVectorStudioRequest) String added in v1.0.6

func (c *CreateVectorStudioRequest) String() string

type CreateVectorStudioResponse added in v1.0.6

type CreateVectorStudioResponse struct {
	BaseResponse
	Data struct {
		AiLabMutation struct {
			VectorStudioCreateV2 CreateVectorStudioResult `json:"vectorStudioCreateV2"`
		} `json:"aiLabMutation"`
	} `json:"data"`
}

type CreateVectorStudioResult added in v1.0.6

type CreateVectorStudioResult struct {
	Key    string `json:"key"`
	AiType string `json:"aiType"`
}

type CreateVideoRequest added in v1.0.1

type CreateVideoRequest struct {
	OriginVideoUrl string `json:"origin_video_url"`
	VideoDuration  int    `json:"video_duration"`
	ModelCode      int    `json:"model_code"`
	QueueType      int    `json:"queue_type"`
	NotifyUrl      string `json:"notify_url"`
}

func (*CreateVideoRequest) String added in v1.0.1

func (c *CreateVideoRequest) String() string

type CreateVideoResponse added in v1.0.1

type CreateVideoResponse struct {
	BaseResponse
	Data struct {
		Key string `json:"key"`
	} `json:"data"`
}

type Credentials

type Credentials struct {
	AppID      string
	PrivateKey string

	RsaPrivateKey *rsa.PrivateKey
	// contains filtered or unexported fields
}

Credentials is the credentials for wujie sdk

func NewCredentials

func NewCredentials(appID, privateKey string) (*Credentials, error)

NewCredentials create a new credentials

func (*Credentials) AfterRequest

func (c *Credentials) AfterRequest(_ *http.Response, _ error)

AfterRequest do nothing

func (*Credentials) BeforeRequest

func (c *Credentials) BeforeRequest(req *http.Request) error

BeforeRequest sign the request

func (*Credentials) Sign

func (c *Credentials) Sign(req *http.Request) (*http.Request, error)

Sign the request

type DefaultResourceModelData

type DefaultResourceModelData struct {
	CreateOptionMenu struct {
		ImageType []struct {
			Name     string `json:"name"`
			Url      string `json:"url"`
			Category string `json:"category"`
		} `json:"image_type"`
		PromptTips []struct {
			Name string `json:"name"`
		} `json:"prompt_tips"`
		Resolution []struct {
			Width              int   `json:"width"`
			Height             int   `json:"height"`
			SuperSizeMultiple  int   `json:"super_size_multiple"`
			PrefineMultiples   []int `json:"prefine_multiples"`
			SuperSizeMultiples []int `json:"super_size_multiples"`
			SuperSizeDetails   []struct {
				Multiple      float64 `json:"multiple"`
				IntegralPrice int     `json:"integral_price"`
			} `json:"super_size_details"`
			PrefineDetails []struct {
				Multiple      float64 `json:"multiple"`
				IntegralPrice int     `json:"integral_price"`
			} `json:"prefine_details"`
			Url       string `json:"url"`
			SizeRatio string `json:"size_ratio"`
		} `json:"resolution"`
		ResolutionNew struct {
			ResolutionKey  string `json:"resolution_key"`
			ResolutionList []struct {
				Width             int     `json:"width"`
				Height            int     `json:"height"`
				SuperSizeMultiple int     `json:"super_size_multiple"`
				PrefineMultiples  float64 `json:"prefine_multiples"`
				DisplayResolution string  `json:"display_resolution"`
				Url               string  `json:"url"`
				SizeRatio         string  `json:"size_ratio"`
			} `json:"resolution_list"`
		} `json:"resolution_new"`
		Style []struct {
			Name     string `json:"name"`
			Url      string `json:"url"`
			Category string `json:"category"`
		} `json:"style"`
		Artist []struct {
			Name     string `json:"name"`
			Url      string `json:"url"`
			Category string `json:"category"`
		} `json:"artist"`
		ElementMagic []struct {
			Key       string `json:"key"`
			Name      string `json:"name"`
			ChoiceKey string `json:"choice_key"`
		} `json:"element_magic"`
		StyleDecoration []struct {
			Key       string `json:"key"`
			Name      string `json:"name"`
			ChoiceKey string `json:"choice_key"`
		} `json:"style_decoration"`
		Character []struct {
			Key                  string   `json:"key"`
			Name                 string   `json:"name"`
			Category             string   `json:"category"`
			RecommendedWeight    int      `json:"recommended_weight"`
			SupportModelVersions []string `json:"support_model_versions"`
		} `json:"character"`
		ModelFusion []struct {
			Key                  string   `json:"key"`
			Name                 string   `json:"name"`
			Category             string   `json:"category"`
			RecommendedWeight    int      `json:"recommended_weight"`
			SupportModelVersions []string `json:"support_model_versions"`
		} `json:"model_fusion"`
		Patterns []struct {
			Name string `json:"name"`
		} `json:"patterns"`
		SamplerModels []struct {
			SamplerModelName string `json:"sampler_model_name"`
			SamplerIndex     int    `json:"sampler_index"`
		} `json:"sampler_models"`
	} `json:"create_option_menu"`
}

type DefaultResourceModelResponse

type DefaultResourceModelResponse struct {
	BaseResponse
	Data DefaultResourceModelData `json:"data"`
}

type DefaultResourceStyleModelData

type DefaultResourceStyleModelData struct {
	StyleModels []StyleModel `json:"style_model"`
}

type DefaultResourceStyleModelResponse

type DefaultResourceStyleModelResponse struct {
	BaseResponse
	Data DefaultResourceStyleModelData `json:"data"`
}

type ExchangePointRequest

type ExchangePointRequest struct {
	ExchangeTargetMobile string `json:"exchange_target_mobile"`
	Amount               int    `json:"amount"`
}

func (*ExchangePointRequest) String

func (e *ExchangePointRequest) String() string

type GeneratingInfoData

type GeneratingInfoData struct {
	List []ImageGeneratingInfo `json:"list"`
}

type GeneratingInfoPro

type GeneratingInfoPro struct {
	Key             string  `json:"key"`
	Status          int     `json:"status"`
	PictureURL      string  `json:"picture_url"`
	ExpectedSeconds int     `json:"expected_seconds"`
	StartGenTime    int     `json:"start_gen_time"`
	CompleteTime    int     `json:"complete_time"`
	CompletePercent float64 `json:"complete_percent"`
	InvolveYellow   int     `json:"involve_yellow"`
	AuditInfo       string  `json:"audit_info"`
	FailMessage     struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
}

type GeneratingInfoProData

type GeneratingInfoProData struct {
	Infos []GeneratingInfoPro `json:"infos"`
}

type GeneratingInfoProResponse

type GeneratingInfoProResponse struct {
	BaseResponse
	Data GeneratingInfoProData `json:"data"`
}

type GeneratingInfoResponse

type GeneratingInfoResponse struct {
	BaseResponse
	Data GeneratingInfoData `json:"data"`
}

type GetSuperSizeResponse

type GetSuperSizeResponse struct {
	BaseResponse
	Data []SuperSizeInfo `json:"data"`
}

type HttpHook

type HttpHook interface {
	BeforeRequest(req *http.Request) error
	AfterRequest(response *http.Response, err error)
}

HttpHook uses BeforeRequest and AfterRequest

type HttpHooks

type HttpHooks []HttpHook

HttpHooks is a slice of HttpHook

type ImageBatchCheckResponse

type ImageBatchCheckResponse struct {
	BaseResponse
	Data struct {
		ImageCheckInfoList []ImageCheckInfo `json:"image_check_info_list"`
	} `json:"data"`
}

type ImageCheckInfo

type ImageCheckInfo struct {
	ImageUrl   string  `json:"image_url"`
	Pass       bool    `json:"pass"`
	Status     string  `json:"status"`
	Message    string  `json:"message"`
	Similarity float64 `json:"similarity"`
}

type ImageGeneratingInfo

type ImageGeneratingInfo struct {
	Key             string  `json:"key"`
	Status          int     `json:"status"`
	PictureURL      string  `json:"picture_url"`
	ExpectedSeconds int     `json:"expected_seconds"`
	StartGenTime    int     `json:"start_gen_time"`
	CompleteTime    int     `json:"complete_time"`
	CompletePercent float64 `json:"complete_percent"`
	QueueBeforeNum  int     `json:"queue_before_num"`
	ReduceTime      int     `json:"reduce_time"`
	InvolveYellow   int     `json:"involve_yellow"`
	AuditInfo       string  `json:"audit_info"`
	FailMessage     struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
	ModelPrompt         string `json:"model_prompt"`
	IntegralCost        int    `json:"integral_cost"`
	IntegralCostMessage string `json:"integral_cost_message"`
}

type ImageInfoData

type ImageInfoData struct {
	Prompt              string   `json:"prompt"`
	UcPrompt            string   `json:"uc_prompt"`
	Model               int      `json:"model"`
	Width               int      `json:"width"`
	Height              int      `json:"height"`
	Status              int      `json:"status"`
	PictureUrl          string   `json:"picture_url"`
	MiniPictureURL      string   `json:"mini_picture_url"`
	InitImageURL        string   `json:"init_image_url"`
	InitImageSimilarity int      `json:"init_image_similarity"`
	CreativityDegree    int      `json:"creativity_degree"`
	Artist              string   `json:"artist"`
	Style               string   `json:"style"`
	ImageType           string   `json:"image_type"`
	ElementMagic        []string `json:"element_magic"`
	GenerateTime        int      `json:"generate_time"`
	StartGenTime        int      `json:"start_gen_time"`
	CompleteTime        int      `json:"complete_time"`
	InvolveYellow       int      `json:"involve_yellow"`
	AuditInfo           string   `json:"audit_info"`
	TechnologyInfo      struct {
		MachineNo        string  `json:"machine_no"`
		GpuType          string  `json:"gpu_type"`
		PowerConsumption float64 `json:"power_consumption"`
	} `json:"technology_info"`
	FailMessage struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
	ModelPrompt      string   `json:"model_prompt"`
	CharacterOptions []string `json:"character_options"`
	ModelFusion      []struct {
		Name   string  `json:"name"`
		Weight float64 `json:"weight"`
	} `json:"model_fusion"`
	StyleModel          string  `json:"style_model"`
	PretreatmentImage   string  `json:"pretreatment_image"`
	PretreatmentMethod  string  `json:"pretreatment_method"`
	Steps               int     `json:"steps"`
	Cfg                 float64 `json:"cfg"`
	SamplerIndex        int     `json:"sampler_index"`
	Seed                string  `json:"seed"`
	IntegralCost        int     `json:"integral_cost"`
	IntegralCostMessage string  `json:"integral_cost_message"`
	MultiDiffusion      struct {
		TiledDiffusion struct {
			Enabled                     bool   `json:"enabled"`
			Method                      string `json:"method"`
			OverwriteSize               bool   `json:"overwrite_size"`
			KeepInputSize               bool   `json:"keep_input_size"`
			ImageWidth                  int    `json:"image_width"`
			ImageHeight                 int    `json:"image_height"`
			TileWidth                   int    `json:"tile_width"`
			TileHeight                  int    `json:"tile_height"`
			Overlap                     int    `json:"overlap"`
			TileBatchSize               int    `json:"tile_batch_size"`
			UpscalerName                string `json:"upscaler_name"`
			ScaleFactor                 int    `json:"scale_factor"`
			NoiseInverse                bool   `json:"noise_inverse"`
			NoiseInverseSteps           int    `json:"noise_inverse_steps"`
			NoiseInverseRetouch         int    `json:"noise_inverse_retouch"`
			NoiseInverseRenoiseStrength int    `json:"noise_inverse_renoise_strength"`
			NoiseInverseRenoiseKernel   int    `json:"noise_inverse_renoise_kernel"`
			ControlTensorCpu            bool   `json:"control_tensor_cpu"`
			EnableBboxControl           bool   `json:"enable_bbox_control"`
			DrawBackground              bool   `json:"draw_background"`
			CausalLayers                bool   `json:"causal_layers"`
			BboxControlStates           []struct {
				Enabled      bool    `json:"enabled"`
				X            float64 `json:"x"`
				Y            float64 `json:"y"`
				W            float64 `json:"w"`
				H            float64 `json:"h"`
				Prompt       string  `json:"prompt"`
				NegPrompt    string  `json:"neg_prompt"`
				BlendMode    string  `json:"blend_mode"`
				FeatherRatio float64 `json:"feather_ratio"`
				Seed         int     `json:"seed"`
			} `json:"bbox_control_states"`
		} `json:"tiled_diffusion"`
		TiledVae struct {
			Enabled         bool `json:"enabled"`
			EncoderTileSize int  `json:"encoder_tile_size"`
			DecoderTileSize int  `json:"decoder_tile_size"`
			VaeToGpu        bool `json:"vae_to_gpu"`
			FastDecoder     bool `json:"fast_decoder"`
			FastEncoder     bool `json:"fast_encoder"`
			ColorFix        bool `json:"color_fix"`
		} `json:"tiled_vae"`
	} `json:"multi_diffusion"`
}

type ImageInfoPro added in v1.0.5

type ImageInfoPro struct {
	ModelCode         int     `json:"model_code"`
	Prompt            string  `json:"prompt"`
	Width             int     `json:"width"`
	Height            int     `json:"height"`
	SupersizeMultiple float64 `json:"supersize_multiple"`
	PrefineMultiple   float64 `json:"prefine_multiple"`
	OptionInfo        struct {
		StyleModel  string   `json:"style_model"`
		Character   []string `json:"character"`
		ModelFusion []struct {
			Name   string  `json:"name"`
			Weight float64 `json:"weight"`
		} `json:"model_fusion"`
	} `json:"option_info"`
	AdvancedInfo struct {
		UcPrompt     string  `json:"uc_prompt"`
		RestoreFaces bool    `json:"restore_faces"`
		Tilling      bool    `json:"tilling"`
		Seed         string  `json:"seed"`
		VaeFile      string  `json:"vae_file"`
		Cfg          float64 `json:"cfg"`
		SamplerSteps int     `json:"sampler_steps"`
		SamplerIndex int     `json:"sampler_index"`
		ClipSkip     int     `json:"clip_skip"`
		Ensd         float64 `json:"ensd"`
		HiresFixInfo struct {
			DenoisingStrength float64 `json:"denoising_strength"`
		} `json:"hires_fix_info"`
	} `json:"advanced_info"`
	ImgToImgInfo struct {
		InitImageUrl     string `json:"init_image_url"`
		CreativityDegree int    `json:"creativity_degree"`
		ResizeMode       string `json:"resize_mode"`
	} `json:"img_to_img_info"`
	ControlNetInfo []struct {
		Type                 int    `json:"type"`
		Preprocessor         int    `json:"preprocessor"`
		Model                int    `json:"model"`
		ControlWeight        int    `json:"control_weight"`
		StartingControlStep  int    `json:"starting_control_step"`
		EndingControlStep    int    `json:"ending_control_step"`
		ControlMode          int    `json:"control_mode"`
		ImageUrl             string `json:"image_url"`
		ImageWidth           int    `json:"image_width"`
		ImageHeight          int    `json:"image_height"`
		MaskUrl              string `json:"mask_url"`
		ProcessorRes         int    `json:"processor_res"`
		ThresholdA           int    `json:"threshold_a"`
		ThresholdB           int    `json:"threshold_b"`
		ResizeMode           int    `json:"resize_mode"`
		PixelPerfect         bool   `json:"pixel_perfect"`
		PretreatmentImageUrl string `json:"pretreatment_image_url"`
	} `json:"control_net_info"`
	CostInfo struct {
		DurationCost int `json:"duration_cost"`
	} `json:"cost_info"`
	InpaintingPlugin struct {
		MaskImageUrl          string `json:"mask_image_url"`
		MaskZoneImageUrl      string `json:"mask_zone_image_url"`
		MaskBlur              int    `json:"mask_blur"`
		InpaintingFill        int    `json:"inpainting_fill"`
		InpaintingMaskInvert  bool   `json:"inpainting_mask_invert"`
		InpaintFullResPadding int    `json:"inpaint_full_res_padding"`
		InpaintFullRes        bool   `json:"inpaint_full_res"`
	} `json:"inpainting_plugin"`
	TiledDiffusion struct {
		Enabled           bool `json:"enabled"`
		DrawBackground    bool `json:"draw_background"`
		BboxControlStates []struct {
			Enabled    bool    `json:"enabled"`
			X          float64 `json:"x"`
			Y          float64 `json:"y"`
			W          float64 `json:"w"`
			H          float64 `json:"h"`
			Prompt     string  `json:"prompt"`
			NegPrompt  string  `json:"neg_prompt"`
			BlendMode  string  `json:"blend_mode"`
			Seed       int     `json:"seed"`
			OptionInfo struct {
				CharacterOptions []struct {
					Key string `json:"key"`
				} `json:"character_options"`
				ModelFusion []struct {
					Name   string  `json:"name"`
					Weight float64 `json:"weight"`
				} `json:"model_fusion"`
			} `json:"option_info"`
		} `json:"bbox_control_states"`
	} `json:"tiled_diffusion"`
	FaceEditor struct {
		Enabled             bool     `json:"enabled"`
		UseMinimalArea      bool     `json:"use_minimal_area"`
		AffectedAreas       []string `json:"affected_areas"`
		MaskSize            int      `json:"mask_size"`
		MaskBlur            int      `json:"mask_blur"`
		MaxFaceCount        int      `json:"max_face_count"`
		Confidence          float64  `json:"confidence"`
		FaceMargin          float64  `json:"face_margin"`
		FaceSize            int      `json:"face_size"`
		IgnoreLargerFaces   bool     `json:"ignore_larger_faces"`
		Strength1           float64  `json:"strength1"`
		ApplyInsideMaskOnly bool     `json:"apply_inside_mask_only"`
		Strength2           float64  `json:"strength2"`
		PromptForFace       string   `json:"prompt_for_face"`
	} `json:"face_editor"`
	UltimateUpscale struct {
		Enabled         bool    `json:"enabled"`
		TargetSizeType  int     `json:"target_size_type"`
		UpscalerIndex   int     `json:"upscaler_index"`
		RedrawMode      int     `json:"redraw_mode"`
		TileWidth       int     `json:"tile_width"`
		TileHeight      int     `json:"tile_height"`
		MaskBlur        int     `json:"mask_blur"`
		SeamsFixType    int     `json:"seams_fix_type"`
		SeamsFixWidth   int     `json:"seams_fix_width"`
		SeamsFixDenoise float64 `json:"seams_fix_denoise"`
		SeamsFixPadding int     `json:"seams_fix_padding"`
	} `json:"ultimate_upscale"`
	Adetailer []struct {
		AdModel          string `json:"ad_model"`
		AdNegativePrompt string `json:"ad_negative_prompt"`
		AdPrompt         string `json:"ad_prompt"`
	} `json:"adetailer"`
}

type ImageInfoProResponse added in v1.0.5

type ImageInfoProResponse struct {
	BaseResponse
	Data ImageInfoPro `json:"data"`
}

type ImageInfoResponse

type ImageInfoResponse struct {
	BaseResponse
	Data ImageInfoData `json:"data"`
}

type ImageModelQueueInfoData

type ImageModelQueueInfoData struct {
	ExpectedSeconds int `json:"expected_seconds"`
	QueueNum        int `json:"queue_num"`
	ReduceTime      int `json:"reduce_time"`
}

type ImageModelQueueInfoResponse

type ImageModelQueueInfoResponse struct {
	BaseResponse
	Data ImageModelQueueInfoData `json:"data"`
}

type ImagePriceInfoData

type ImagePriceInfoData struct {
	UserRightsUse struct {
		DailyFreeCreateTimesUse int `json:"daily_free_create_times_use"`
		DeservedCreateTimesUse  int `json:"deserved_create_times_use"`
	} `json:"user_rights_use"`
	VipRightsUse struct {
		CreateTimesUse     int `json:"create_times_use"`
		AccelerateTimesUse int `json:"accelerate_times_use"`
		SuperSizeTimesUse  int `json:"super_size_times_use"`
	} `json:"vip_rights_use"`
	IntegralUse struct {
		IntegralUseOnCreate     int `json:"integral_use_on_create"`
		IntegralUseOnResolution int `json:"integral_use_on_resolution"`
		IntegralUseOnStyleModel int `json:"integral_use_on_style_model"`
		IntegralUseOnSteps      int `json:"integral_use_on_steps"`
		IntegralUseOnAccelerate int `json:"integral_use_on_accelerate"`
		IntegralUseOnSuperSize  int `json:"integral_use_on_super_size"`
		DiscountIntegral        int `json:"discount_integral"`
	} `json:"integral_use"`
}

type ImagePriceInfoRequest

type ImagePriceInfoRequest struct {
	CreateImageRequest
}

func (*ImagePriceInfoRequest) String

func (i *ImagePriceInfoRequest) String() string

type ImagePriceInfoResponse

type ImagePriceInfoResponse struct {
	BaseResponse
	Data ImagePriceInfoData `json:"data"`
}

type LabInfo added in v1.0.6

type LabInfo struct {
	AiType           string      `json:"aiType"`
	ServiceKey       string      `json:"serviceKey"`
	CheckIsViolation int         `json:"checkIsViolation"`
	CompletePercent  int         `json:"completePercent"`
	FailMessage      interface{} `json:"failMessage"`
	Status           string      `json:"status"`
	SegmentInfo      struct {
		ImageUrl       string   `json:"imageUrl"`
		ModelCode      int      `json:"modelCode"`
		ModelName      string   `json:"modelName"`
		NegativePoints []string `json:"negativePoints"`
		PositivePoints []struct {
			X int `json:"x"`
			Y int `json:"y"`
		} `json:"positivePoints"`
		Prompt    interface{} `json:"prompt"`
		Threshold int         `json:"threshold"`
		ImageUrls []string    `json:"imageUrls"`
	} `json:"segmentInfo"`
	InfiniteZoomInfo struct {
		InitImageUrl                string `json:"initImageUrl"`
		ExitImageUrl                string `json:"exitImageUrl"`
		ModelCode                   int    `json:"modelCode"`
		ModelName                   string `json:"modelName"`
		VideoSecond                 int    `json:"videoSecond"`
		VideoFrameRate              int    `json:"videoFrameRate"`
		VideoZoomMode               int    `json:"videoZoomMode"`
		VideoStartFreezeFrameNumber int    `json:"videoStartFreezeFrameNumber"`
		VideoEndFreezeFrameNumber   int    `json:"videoEndFreezeFrameNumber"`
		MaskFeathering              int    `json:"maskFeathering"`
		MovementSpeed               int    `json:"movementSpeed"`
		Cfg                         int    `json:"cfg"`
		PromptPrefix                string `json:"promptPrefix"`
		PromptSuffix                string `json:"promptSuffix"`
		UcPrompt                    string `json:"ucPrompt"`
		Fps                         []struct {
			Second int    `json:"second"`
			Prompt string `json:"prompt"`
		} `json:"fps"`
		Sampler     int    `json:"sampler"`
		SamplerName string `json:"samplerName"`
		Creativity  int    `json:"creativity"`
		ImageSeed   int    `json:"imageSeed"`
		ImageWidth  int    `json:"imageWidth"`
		ImageHeight int    `json:"imageHeight"`
		VideoUrl    string `json:"videoUrl"`
	} `json:"infiniteZoomInfo"`
	VectorInfo struct {
		MiniArtWorkUrl    string      `json:"miniArtWorkUrl"`
		Vectorization     bool        `json:"vectorization"`
		Style             int         `json:"style"`
		StyleName         string      `json:"styleName"`
		Threshold         int         `json:"threshold"`
		WhiteOpaque       bool        `json:"whiteOpaque"`
		WhiteMarginFormat bool        `json:"whiteMarginFormat"`
		TransparentPNG    bool        `json:"transparentPNG"`
		NoiseTolerance    int         `json:"noiseTolerance"`
		Quantize          int         `json:"quantize"`
		AiArtworkId       interface{} `json:"aiArtworkId"`
		VectorRes         []struct {
			Url      string `json:"url"`
			ShowName string `json:"showName"`
			Type     string `json:"type"`
		} `json:"vectorRes"`
	} `json:"vectorInfo"`
}

type LabInfoRequest added in v1.0.6

type LabInfoRequest struct {
	ServiceKey string      `json:"serviceKey"`
	AiType     LabInfoType `json:"aiType"`
}

func (*LabInfoRequest) String added in v1.0.6

func (l *LabInfoRequest) String() string

type LabInfoResponse added in v1.0.6

type LabInfoResponse struct {
	BaseResponse
	Data LabInfo `json:"data"`
}

type LabInfoType added in v1.0.6

type LabInfoType string

LabInfoType lab info type /ai/pro/lab/info

const (
	InfiniteZoomLabInfoType LabInfoType = "AI_LAB_INFINITE_ZOOM"
	SegmentationLabInfoType LabInfoType = "AI_LAB_SEGMENTATION"
	MjDescribeLabInfoType   LabInfoType = "MJ_DESCRIBE"
	PictureLabInfoType      LabInfoType = "PICTURE"
	SuperSizeLabInfoType    LabInfoType = "SUPER_SIZE"
	VectorLabInfoType       LabInfoType = "VECTOR"
	VideoLabInfoType        LabInfoType = "VIDEO"
)

type LabOption added in v1.0.6

type LabOption struct {
	Code int    `json:"code"`
	Name string `json:"name"`
}

type LabOptionType added in v1.0.6

type LabOptionType string

LabOptionType lab option type /ai/pro/lab/options

const (
	InfiniteZoomModelLabOptionType    LabOptionType = "INFINITE_ZOOM_MODEL"
	InfiniteZoomSamplerLabOptionType  LabOptionType = "INFINITE_ZOOM_SAMPLER"
	SegmentAnythingModelLabOptionType LabOptionType = "SEGMENT_ANYTHING_MODEL"
	VectorStudioStyleLabOptionType    LabOptionType = "VECTOR_STUDIO_STYLE"
)

type LabOptionsRequest added in v1.0.6

type LabOptionsRequest struct {
	Input *struct {
		OptionType LabOptionType `json:"optionType"`
	} `json:"input"`
}

func (*LabOptionsRequest) String added in v1.0.6

func (l *LabOptionsRequest) String() string

type LabOptionsResponse added in v1.0.6

type LabOptionsResponse struct {
	BaseResponse
	Data struct {
		AiLabQuery struct {
			Options []LabOption `json:"options"`
		} `json:"aiLabQuery"`
	} `json:"data"`
}

type LayerDiffusion added in v1.0.10

type LayerDiffusion struct {
	Method     int     `json:"method"`
	Weight     float64 `json:"weight"`
	EndingStep float64 `json:"ending_step"`
}

func (*LayerDiffusion) String added in v1.0.10

func (l *LayerDiffusion) String() string

type Logger added in v1.0.4

type Logger struct {
	*log.Logger
	LogLevel int
}

Logger is the logger for wujie's api

func NewDebugLogger added in v1.0.4

func NewDebugLogger() *Logger

NewDebugLogger debug logger

func NewDefaultLogger added in v1.0.4

func NewDefaultLogger() *Logger

NewDefaultLogger default logger

func NewLogger added in v1.0.4

func NewLogger(logLevel int, log *log.Logger) *Logger

NewLogger new logger

type MagicDiceTheme

type MagicDiceTheme struct {
	ThemeID int    `json:"theme_id"`
	Name    string `json:"name"`
}

type MagicDiceThemeResponse

type MagicDiceThemeResponse struct {
	BaseResponse
	Data []MagicDiceTheme `json:"data"`
}

type MjParam added in v1.0.9

type MjParam struct {
	Chaos    int      `json:"chaos"`
	Stylize  int      `json:"stylize"`
	Quality  string   `json:"quality"`
	Upbeta   bool     `json:"upbeta"`
	Tile     bool     `json:"tile"`
	SrefUrls []string `json:"sref_urls"`
	Sw       int      `json:"sw"`
	CrefUrls []string `json:"cref_urls"`
	Cw       int      `json:"cw"`
}

func (*MjParam) String added in v1.0.9

func (m *MjParam) String() string

type ModelBaseInfo added in v1.0.5

type ModelBaseInfo struct {
	ModelType         int32  `json:"type"`
	ModelCode         int32  `json:"model_code"`
	ModelVersion      string `json:"model_version"`
	ModelDesc         string `json:"model_desc"`
	ControlNetSupport string `json:"controlnet_support"`
}

type ModelBaseInfoPro added in v1.0.5

type ModelBaseInfoPro struct {
	Type              int    `json:"type"`
	ModelCode         int    `json:"model_code"`
	ModelVersion      string `json:"model_version"`
	ModelDesc         string `json:"model_desc"`
	ControlnetSupport string `json:"controlnet_support"`
}

type ModelBaseInfosProResponse added in v1.0.5

type ModelBaseInfosProResponse struct {
	BaseResponse
	Data []ModelBaseInfoPro `json:"data"`
}

type ModelBaseInfosResponse

type ModelBaseInfosResponse struct {
	BaseResponse
	Data []ModelBaseInfo `json:"data"`
}

type ModelFusion added in v1.0.1

type ModelFusion struct {
	Key    string  `json:"key"`
	Weight float64 `json:"weight"`
}

type MultiDiffusion added in v1.0.3

type MultiDiffusion struct {
	TiledDiffusion struct {
		Enabled                     bool   `json:"enabled"`
		Method                      string `json:"method"`
		OverwriteSize               bool   `json:"overwrite_size"`
		KeepInputSize               bool   `json:"keep_input_size"`
		ImageWidth                  int    `json:"image_width"`
		ImageHeight                 int    `json:"image_height"`
		TileWidth                   int    `json:"tile_width"`
		TileHeight                  int    `json:"tile_height"`
		Overlap                     int    `json:"overlap"`
		TileBatchSize               int    `json:"tile_batch_size"`
		UpscalerName                string `json:"upscaler_name"`
		ScaleFactor                 int    `json:"scale_factor"`
		NoiseInverse                bool   `json:"noise_inverse"`
		NoiseInverseSteps           int    `json:"noise_inverse_steps"`
		NoiseInverseRetouch         int    `json:"noise_inverse_retouch"`
		NoiseInverseRenoiseStrength int    `json:"noise_inverse_renoise_strength"`
		NoiseInverseRenoiseKernel   int    `json:"noise_inverse_renoise_kernel"`
		ControlTensorCpu            bool   `json:"control_tensor_cpu"`
		EnableBboxControl           bool   `json:"enable_bbox_control"`
		DrawBackground              bool   `json:"draw_background"`
		CausalLayers                bool   `json:"causal_layers"`
		BboxControlStates           []struct {
			Enabled      bool    `json:"enabled"`
			X            float64 `json:"x"`
			Y            float64 `json:"y"`
			W            float64 `json:"w"`
			H            float64 `json:"h"`
			Prompt       string  `json:"prompt"`
			NegPrompt    string  `json:"neg_prompt"`
			BlendMode    string  `json:"blend_mode"`
			FeatherRatio float64 `json:"feather_ratio"`
			Seed         int     `json:"seed"`
		} `json:"bbox_control_states"`
	} `json:"tiled_diffusion"`
	TiledVae struct {
		Enabled         bool `json:"enabled"`
		EncoderTileSize int  `json:"encoder_tile_size"`
		DecoderTileSize int  `json:"decoder_tile_size"`
		VaeToGpu        bool `json:"vae_to_gpu"`
		FastDecoder     bool `json:"fast_decoder"`
		FastEncoder     bool `json:"fast_encoder"`
		ColorFix        bool `json:"color_fix"`
	} `json:"tiled_vae"`
}

func (*MultiDiffusion) String added in v1.0.5

func (m *MultiDiffusion) String() string

type PostSuperSizeRequest

type PostSuperSizeRequest struct {
	URL           string            `json:"url"`
	Multiple      float64           `json:"multiple"`
	SuperSizeType SuperSizeType     `json:"super_size_type,omitempty"`
	CostType      SuperSizeCostType `json:"cost_type,omitempty"`
}

func NewPostSuperSizeRequest added in v1.0.1

func NewPostSuperSizeRequest(url string, multiple float64, options ...SuperSizeOption) *PostSuperSizeRequest

func (*PostSuperSizeRequest) String

func (s *PostSuperSizeRequest) String() string

type PostSuperSizeResponse

type PostSuperSizeResponse struct {
	BaseResponse
	Data struct {
		Key string `json:"key"`
	} `json:"data"`
}

type PromptOptimizeResultData

type PromptOptimizeResultData struct {
	TaskID string `json:"task_id"`
	Code   int    `json:"code"`
	Result string `json:"result"`
}

type PromptOptimizeResultResponse

type PromptOptimizeResultResponse struct {
	BaseResponse
	Data PromptOptimizeResultData `json:"data"`
}

type PromptOptimizeSubmitRequest

type PromptOptimizeSubmitRequest struct {
	TaskID      string               `json:"task_id"`
	Type        PromptSubmitType     `json:"type"`
	Original    string               `json:"original"`
	Language    PromptSubmitLanguage `json:"language"`
	CallbackURL string               `json:"callback_url"`
}

func (*PromptOptimizeSubmitRequest) String

func (p *PromptOptimizeSubmitRequest) String() string

type PromptOptimizeSubmitResponse

type PromptOptimizeSubmitResponse struct {
	BaseResponse
}

type PromptSubmitLanguage

type PromptSubmitLanguage int8

PromptSubmitLanguage prompt submit language /ai/optimize/prompt/submit

const (
	ChinesePromptSubmitLanguage PromptSubmitLanguage = iota
	EnglishPromptSubmitLanguage
)

type PromptSubmitType

type PromptSubmitType int8

PromptSubmitType prompt submit type /ai/optimize/prompt/submit

const (
	CommonPromptSubmitType PromptSubmitType = iota + 1
	ColorPromptSubmitType
	AnimePromptSubmitType
)

type QuerySpellData

type QuerySpellData struct {
	SpellName   string `json:"spell_name"`
	SpellEnName string `json:"spell_en_name"`
	Icon        string `json:"icon"`
	Category    string `json:"category"`
	Label       string `json:"label"`
}

type QuerySpellResponse

type QuerySpellResponse struct {
	BaseResponse
	Data []QuerySpellData `json:"data"`
}

type SVDInfo added in v1.0.7

type SVDInfo struct {
	Key             string  `json:"key"`
	VideoUrl        string  `json:"video_url"`
	InitImageUrl    string  `json:"init_image_url"`
	Duration        int     `json:"duration"`
	MotionAmplitude int     `json:"motion_amplitude"`
	NoiseIntensity  float64 `json:"noise_intensity"`
	RandomSeed      string  `json:"random_seed"`
	Status          int     `json:"status"`
	FailMessage     struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
}

type SVDInfoResponse added in v1.0.7

type SVDInfoResponse struct {
	BaseResponse
	Data SVDInfo `json:"data"`
}

type ServiceContext added in v1.0.3

type ServiceContext struct {
	Source         string `json:"source"`
	From           string `json:"from"`
	UserAgent      string `json:"user_agent"`
	AppCode        string `json:"app_code"`
	DeviceId       string `json:"device_id"`
	Ip             string `json:"ip"`
	RegisterSource string `json:"register_source"`
}

func (*ServiceContext) String added in v1.0.5

func (s *ServiceContext) String() string

type SpellAnalysisInfo

type SpellAnalysisInfo struct {
	SpellAnalysisInfoKey string `json:"spell_analysis_info_key"`
	Tags                 string `json:"tags"`
	ImageURL             string `json:"image_url"`
	Status               int    `json:"status"`
}

type SpellAnalysisInfoResponse

type SpellAnalysisInfoResponse struct {
	BaseResponse
	Data SpellAnalysisInfo `json:"data"`
}

type StyleModel

type StyleModel struct {
	Key            string `json:"key"`
	Name           string `json:"name"`
	ModelCode      int    `json:"model_code"`
	SampleImageURL string `json:"sample_image_url"`
}

type SuperSizeCostType added in v1.0.1

type SuperSizeCostType string

SuperSizeCostType super size cost type /ai/supersize

const (
	IntegralSuperSizeCostType SuperSizeCostType = "INTEGRAL"
	DurationSuperSizeCostType SuperSizeCostType = "DURATION"
)

type SuperSizeInfo

type SuperSizeInfo struct {
	Key      string  `json:"key"`
	URL      string  `json:"url"`
	SrURL    string  `json:"sr_url"`
	Multiple float64 `json:"multiple"`
	Status   int     `json:"status"`
	Integral int     `json:"integral"`
	Duration int     `json:"duration"`
}

type SuperSizeOption added in v1.0.1

type SuperSizeOption func(s *PostSuperSizeRequest)

func WithSuperSizeType added in v1.0.1

func WithSuperSizeType(superSizeType SuperSizeType) SuperSizeOption

type SuperSizeType added in v1.0.1

type SuperSizeType string

SuperSizeType super size type /ai/supersize

const (
	GeneralSuperSizeType SuperSizeType = "GENERAL"
	AnimeSuperSizeType   SuperSizeType = "ANIME"
)

type TemplateCreateParam added in v1.0.5

type TemplateCreateParam struct {
	TemplateKey string `json:"template_key"`
	TemplateUrl string `json:"template_url"`
	Count       int    `json:"count"`
}

func (*TemplateCreateParam) String added in v1.0.5

func (t *TemplateCreateParam) String() string

type VideoGeneratingInfo added in v1.0.4

type VideoGeneratingInfo struct {
	List            []VideoGeneratingInfoDetail `json:"list"`
	NextPollingTime int                         `json:"next_polling_time"`
}

type VideoGeneratingInfoDetail added in v1.0.4

type VideoGeneratingInfoDetail struct {
	Key             string  `json:"key"`
	ModelCode       int     `json:"model_code"`
	ModelName       string  `json:"model_name"`
	OriginVideoUrl  string  `json:"origin_video_url"`
	AiVideoUrl      string  `json:"ai_video_url"`
	Status          int     `json:"status"`
	CreateTime      int     `json:"create_time"`
	CompleteTime    int     `json:"complete_time"`
	ExpectedSeconds int     `json:"expected_seconds"`
	CompletePercent float64 `json:"complete_percent"`
	AiVideoMetaInfo struct {
		Format    string `json:"format"`
		Width     int    `json:"width"`
		Height    int    `json:"height"`
		Duration  int    `json:"duration"`
		Size      int    `json:"size"`
		CodecType string `json:"codec_type"`
		FrameRate int    `json:"frame_rate"`
		Cover     struct {
			Url    string `json:"url"`
			Width  int    `json:"width"`
			Height int    `json:"height"`
		} `json:"cover"`
	} `json:"ai_video_meta_info"`
	Violation     bool `json:"violation"`
	ViolationInfo struct {
		CheckFail       bool   `json:"check_fail"`
		TotalSuggestion string `json:"total_suggestion"`
		DataId          string `json:"data_id"`
		TaskId          string `json:"task_id"`
		Url             string `json:"url"`
		SourceResult    string `json:"source_result"`
		VendorApp       string `json:"vendor_app"`
		ScreenshotNums  int    `json:"_screenshot_nums"`
		ScreenshotInfos []struct {
			Url           string `json:"url"`
			ScanSceneDTOS []struct {
				Scene      string  `json:"scene"`
				Label      string  `json:"label"`
				LabelDesc  string  `json:"label_desc"`
				Suggestion string  `json:"suggestion"`
				Rate       float64 `json:"rate"`
				SubLabels  []struct {
					SubLabel     string  `json:"sub_label"`
					SubLabelDesc string  `json:"sub_label_desc"`
					Rate         float64 `json:"rate"`
				} `json:"sub_labels"`
			} `json:"scan_scene_d_t_o_s"`
		} `json:"screenshot_infos"`
	} `json:"violation_info"`
	FailMessage struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
	QueueType int `json:"queue_type"`
}

type VideoGeneratingInfoResponse added in v1.0.4

type VideoGeneratingInfoResponse struct {
	BaseResponse
	Data VideoGeneratingInfo `json:"data"`
}

type VideoInfo added in v1.0.4

type VideoInfo struct {
	Key             string  `json:"key"`
	ModelCode       int     `json:"model_code"`
	ModelName       string  `json:"model_name"`
	OriginVideoUrl  string  `json:"origin_video_url"`
	AiVideoUrl      string  `json:"ai_video_url"`
	Status          int     `json:"status"`
	CreateTime      int     `json:"create_time"`
	CompleteTime    int     `json:"complete_time"`
	ExpectedSeconds int     `json:"expected_seconds"`
	CompletePercent float64 `json:"complete_percent"`
	AiVideoMetaInfo struct {
		Format    string `json:"format"`
		Width     int    `json:"width"`
		Height    int    `json:"height"`
		Duration  int    `json:"duration"`
		Size      int    `json:"size"`
		CodecType string `json:"codec_type"`
		FrameRate int    `json:"frame_rate"`
		Cover     struct {
			Url    string `json:"url"`
			Width  int    `json:"width"`
			Height int    `json:"height"`
		} `json:"cover"`
	} `json:"ai_video_meta_info"`
	Violation     bool `json:"violation"`
	ViolationInfo struct {
		CheckFail       bool   `json:"check_fail"`
		TotalSuggestion string `json:"total_suggestion"`
		DataId          string `json:"data_id"`
		TaskId          string `json:"task_id"`
		Url             string `json:"url"`
		SourceResult    string `json:"source_result"`
		VendorApp       string `json:"vendor_app"`
		ScreenshotNums  int    `json:"_screenshot_nums"`
		ScreenshotInfos []struct {
			Url           string `json:"url"`
			ScanSceneDTOS []struct {
				Scene      string  `json:"scene"`
				Label      string  `json:"label"`
				LabelDesc  string  `json:"label_desc"`
				Suggestion string  `json:"suggestion"`
				Rate       float64 `json:"rate"`
				SubLabels  []struct {
					SubLabel     string  `json:"sub_label"`
					SubLabelDesc string  `json:"sub_label_desc"`
					Rate         float64 `json:"rate"`
				} `json:"sub_labels"`
			} `json:"scan_scene_d_t_o_s"`
		} `json:"screenshot_infos"`
	} `json:"violation_info"`
	FailMessage struct {
		FailCode    int    `json:"fail_code"`
		FailMessage string `json:"fail_message"`
	} `json:"fail_message"`
	QueueType int `json:"queue_type"`
}

type VideoInfoResponse added in v1.0.4

type VideoInfoResponse struct {
	BaseResponse
	Data VideoInfo `json:"data"`
}

type VideoModelQueueInfo added in v1.0.4

type VideoModelQueueInfo struct {
	FreeExpectedSeconds int `json:"free_expected_seconds"`
	NightExpectedTime   int `json:"night_expected_time"`
	QueueNum            int `json:"queue_num"`
}

type VideoModelQueueInfoResponse added in v1.0.4

type VideoModelQueueInfoResponse struct {
	BaseResponse
	Data VideoModelQueueInfo `json:"data"`
}

type VideoOptionMenuAndPriceTable added in v1.0.4

type VideoOptionMenuAndPriceTable struct {
	AiVideoModelOptionVos []struct {
		ModelCode int    `json:"model_code"`
		Name      string `json:"name"`
	} `json:"ai_video_model_option_vos"`
	PayInfoVo struct {
		Price      int `json:"price"`
		NightPrice int `json:"night_price"`
	} `json:"pay_info_vo"`
}

type VideoOptionMenuAndPriceTableResponse added in v1.0.4

type VideoOptionMenuAndPriceTableResponse struct {
	BaseResponse
	Data VideoOptionMenuAndPriceTable `json:"data"`
}

type WujieCode

type WujieCode string
const (
	ErrorWujieCode                               WujieCode = "0"
	OKWujieCode                                  WujieCode = "200"
	InvalidParameterWujieCode                    WujieCode = "20010001"
	UnsupportedResolutionWujieCode               WujieCode = "20010015"
	LockRaceConditionWujieCode                   WujieCode = "20010018"
	PromptTranslationFailedWujieCode             WujieCode = "20110000"
	PromptContainsSensitiveWordsWujieCode        WujieCode = "20110001"
	InitImageLinkIncorrectOrUnsupportedWujieCode WujieCode = "20110002"
	InitImageContainsSensitiveInfoWujieCode      WujieCode = "20110003"
	ImageStatusChange                            WujieCode = "20110009"
	InsufficientPointsBalanceWujieCode           WujieCode = "20110010"
	JobNotInQueueAndCannotCancelWujieCode        WujieCode = "20110011"
	CheckResourcesWujieCode                      WujieCode = "20110017"
	ImageRecognitionAbnormalityWujieCode         WujieCode = "20110018"
	NoFaceOrFaceIsSmallWujieCode                 WujieCode = "20110019"
	MultipleFacesDetectedWujieCode               WujieCode = "20110020"
	SideFaceDetectedWujieCode                    WujieCode = "20110021"
)

func (WujieCode) Err

func (w WujieCode) Err() error

func (WujieCode) String

func (w WujieCode) String() string

type WujieRouter

type WujieRouter string
const (
	AvailableIntegralBalanceWujieRouter WujieRouter = "/account/availableIntegralBalance"
	ExchangePointWujieRouter            WujieRouter = "/account/integral/exchange"
	AccountBalanceProWujieRouter        WujieRouter = "/ai/pro/account/balance"
)

account WujieRouter

const (
	DefaultResourceModelWujieRouter      WujieRouter = "/ai/default_resource"
	ModelBaseInfosWujieRouter            WujieRouter = "/ai/model_base_infos"
	ImageGeneratingInfoWujieRouter       WujieRouter = "/ai/generating_info"
	CreateParamsWujieRouter              WujieRouter = "/ai/create_params"
	ImageInfoWujieRouter                 WujieRouter = "/ai/info"
	ImageModelQueueInfoWujieRouter       WujieRouter = "/ai/model_info"
	DefaultResourceStyleModelWujieRouter WujieRouter = "/ai/default_resource_style_model"
	CreateImageWujieRouter               WujieRouter = "/ai/create"
	AccelerateImageWujieRouter           WujieRouter = "/ai/accelerate"
	CancelImageWujieRouter               WujieRouter = "/ai/cancel"
	ImagePriceInfoWujieRouter            WujieRouter = "/ai/price_info"
	SuperSizeWujieRouter                 WujieRouter = "/ai/supersize"
	PromptOptimizeSubmitWujieRouter      WujieRouter = "/ai/optimize/prompt/submit"
	PromptOptimizeResultWujieRouter      WujieRouter = "/ai/optimize/prompt/result"
	YouthifyWujieRouter                  WujieRouter = "/ai/youthify"
	QuerySpellWujieRouter                WujieRouter = "/ai/spell"
)

common ai WujieRouter

const (
	CreateImageProWujieRouter         WujieRouter = "/ai/pro/create"
	ImageGeneratingInfoProWujieRouter WujieRouter = "/ai/pro/generating_info"
	ModelBaseInfosProWujieRouter      WujieRouter = "/ai/pro/model_base_infos"
	ControlNetOptionProWujieRouter    WujieRouter = "/ai/pro/controlNetOption"
	ImageInfoProWujieRouter           WujieRouter = "/ai/pro/info"
	LabOptionsWujieRouter             WujieRouter = "/ai/pro/lab/options"
	LabInfoWujieRouter                WujieRouter = "/ai/pro/lab/info"
	CreateSegmentationWujieRouter     WujieRouter = "/ai/pro/lab/create/segmentation"
	CreateInfiniteZoomWujieRouter     WujieRouter = "/ai/pro/lab/createInfiniteZoom"
	CreateVectorStudioWujieRouter     WujieRouter = "/ai/pro/lab/createVectorsStudio"
	CreateSVDWujieRouter              WujieRouter = "/ai/pro/svd/create"
	SVDInfoWujieRouter                WujieRouter = "/ai/pro/svd/info"
)

pro ai WujieRouter

const (
	CreateAvatarArtworkWujieRouter   WujieRouter = "/avatar/artwork/create"
	AvatarDefaultResourceWujieRouter WujieRouter = "/avatar/artwork/default_resource"
	CreateAvatarWujieRouter          WujieRouter = "/avatar/create"
	DeleteAvatarWujieRouter          WujieRouter = "/avatar/delete"
	AvatarInfoWujieRouter            WujieRouter = "/avatar/info"
	ImageBatchCheckWujieRouter       WujieRouter = "/avatar/image_check_batch"
)

avatar create artwork WujieRouter

const (
	CreateSpellAnalysisWujieRouter WujieRouter = "/ai/spell_analysis/create"
	SpellAnalysisInfoWujieRouter   WujieRouter = "/ai/spell_analysis/info"
)

spell analysis WujieRouter

const (
	MagicDiceThemeWujieRouter  WujieRouter = "/ai/magic_dice/theme"
	CreateMagicDiceWujieRouter WujieRouter = "/ai/magic_dice/search"
)

magic dice WujieRouter

const (
	CreateVideoWujieRouter                  WujieRouter = "/ai/video/create"
	VideoInfoWujieRouter                    WujieRouter = "/ai/video/info"
	VideoOptionMenuAndPriceTableWujieRouter WujieRouter = "/ai/video/option_menu"
	VideoModelQueueInfoWujieRouter          WujieRouter = "/ai/video/wait_time"
	VideoGeneratingInfoWujieRouter          WujieRouter = "/ai/video/generating_info"
)

video to video WujieRouter

const (
	CameraTemplateOptionsWujieRouter WujieRouter = "/avatar/camera/template_options"
	CreateCameraWujieRouter          WujieRouter = "/avatar/camera/create"
	CameraGeneratingInfoWujieRouter  WujieRouter = "/avatar/camera/generating_info"
	CameraInfoWujieRouter            WujieRouter = "/avatar/camera/info"
)

create avatar camera WujieRouter

type YouthifyData

type YouthifyData struct {
	Keys    string `json:"keys"`
	Results []struct {
		Key            string `json:"key"`
		ExpectedSecond int    `json:"expected_second"`
	} `json:"results"`
	ExpectedIntegralCost int `json:"expected_integral_cost"`
}

type YouthifyRequest

type YouthifyRequest struct {
	ImageURL          string  `json:"image_url"`
	InitWidth         int     `json:"init_width"`
	InitHeight        int     `json:"init_height"`
	Width             int     `json:"width"`
	Height            int     `json:"height"`
	SuperSizeMultiple float64 `json:"super_size_multiple"`
	NotifyURL         string  `json:"notify_url"`
}

func (*YouthifyRequest) String

func (y *YouthifyRequest) String() string

type YouthifyResponse

type YouthifyResponse struct {
	BaseResponse
	Data YouthifyData `json:"data"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL