ctyun

package
v0.0.0-...-30b4b00 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2026 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ChannelName = "ctyun"

ChannelName 渠道名称

View Source
var ModelList = []string{
	"happyhorse-1.0-t2v",
	"happyhorse-1.0-i2v",
	"happyhorse-1.0-r2v",
	"happyhorse-1.0-video-edit",
}

ModelList CTYun(天翼云)渠道支持的任务模型

Functions

This section is empty.

Types

type CtyunVideoInput

type CtyunVideoInput struct {
	Prompt string            `json:"prompt,omitempty"`
	Media  []CtyunVideoMedia `json:"media,omitempty"`
}

CtyunVideoInput 视频输入参数(天翼云使用 media 数组)

type CtyunVideoMedia

type CtyunVideoMedia struct {
	Type string `json:"type"` // first_frame / image / video
	URL  string `json:"url"`
}

CtyunVideoMedia 媒体素材(首帧图 / 参考图 / 参考视频)

type CtyunVideoOutput

type CtyunVideoOutput struct {
	TaskID        string `json:"task_id"`
	TaskStatus    string `json:"task_status"`
	SubmitTime    string `json:"submit_time,omitempty"`
	ScheduledTime string `json:"scheduled_time,omitempty"`
	EndTime       string `json:"end_time,omitempty"`
	OrigPrompt    string `json:"orig_prompt,omitempty"`
	ActualPrompt  string `json:"actual_prompt,omitempty"`
	VideoURL      string `json:"video_url,omitempty"`
	Code          string `json:"code,omitempty"`
	Message       string `json:"message,omitempty"`
}

CtyunVideoOutput 输出信息

type CtyunVideoParameters

type CtyunVideoParameters struct {
	Resolution   string `json:"resolution,omitempty"`    // 分辨率: 480P/720P/1080P
	Size         string `json:"size,omitempty"`          // 尺寸: 如 "1920*1080"(文生视频)
	Duration     int    `json:"duration,omitempty"`      // 时长(秒)
	PromptExtend bool   `json:"prompt_extend,omitempty"` // 是否开启 prompt 智能改写
	Watermark    bool   `json:"watermark,omitempty"`     // 是否添加水印
	Seed         int    `json:"seed,omitempty"`          // 随机数种子
}

CtyunVideoParameters 视频参数

type CtyunVideoRequest

type CtyunVideoRequest struct {
	Model      string                `json:"model"`
	Input      CtyunVideoInput       `json:"input"`
	Parameters *CtyunVideoParameters `json:"parameters,omitempty"`
}

CtyunVideoRequest 天翼云视频生成请求

type CtyunVideoResponse

type CtyunVideoResponse struct {
	Output    CtyunVideoOutput `json:"output"`
	RequestID string           `json:"request_id"`
	Code      string           `json:"code,omitempty"`
	Message   string           `json:"message,omitempty"`
}

CtyunVideoResponse 天翼云视频响应(DashScope 风格)

type TaskAdaptor

type TaskAdaptor struct {
	taskcommon.BaseBilling
	ChannelType int
	// contains filtered or unexported fields
}

func (*TaskAdaptor) BuildRequestBody

func (a *TaskAdaptor) BuildRequestBody(c *gin.Context, info *relaycommon.RelayInfo) (io.Reader, error)

func (*TaskAdaptor) BuildRequestHeader

func (a *TaskAdaptor) BuildRequestHeader(c *gin.Context, req *http.Request, info *relaycommon.RelayInfo) error

BuildRequestHeader sets required headers for CTYun API

func (*TaskAdaptor) BuildRequestURL

func (a *TaskAdaptor) BuildRequestURL(info *relaycommon.RelayInfo) (string, error)

func (*TaskAdaptor) ConvertToOpenAIVideo

func (a *TaskAdaptor) ConvertToOpenAIVideo(task *model.Task) ([]byte, error)

func (*TaskAdaptor) DoRequest

func (a *TaskAdaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, requestBody io.Reader) (*http.Response, error)

DoRequest delegates to common helper

func (*TaskAdaptor) DoResponse

func (a *TaskAdaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (taskID string, taskData []byte, taskErr *dto.TaskError)

DoResponse handles upstream response

func (*TaskAdaptor) EstimateBilling

func (a *TaskAdaptor) EstimateBilling(c *gin.Context, info *relaycommon.RelayInfo) map[string]float64

EstimateBilling 预估计费倍率(时长 + 分辨率)

func (*TaskAdaptor) FetchTask

func (a *TaskAdaptor) FetchTask(baseUrl, key string, body map[string]any, proxy string) (*http.Response, error)

FetchTask 查询任务状态

func (*TaskAdaptor) GetChannelName

func (a *TaskAdaptor) GetChannelName() string

func (*TaskAdaptor) GetModelList

func (a *TaskAdaptor) GetModelList() []string

func (*TaskAdaptor) Init

func (a *TaskAdaptor) Init(info *relaycommon.RelayInfo)

func (*TaskAdaptor) ParseTaskResult

func (a *TaskAdaptor) ParseTaskResult(respBody []byte) (*relaycommon.TaskInfo, error)

ParseTaskResult 解析任务结果

func (*TaskAdaptor) ValidateRequestAndSetAction

func (a *TaskAdaptor) ValidateRequestAndSetAction(c *gin.Context, info *relaycommon.RelayInfo) (taskErr *dto.TaskError)

Jump to

Keyboard shortcuts

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