Documentation
¶
Index ¶
- Variables
- type CtyunVideoInput
- type CtyunVideoMedia
- type CtyunVideoOutput
- type CtyunVideoParameters
- type CtyunVideoRequest
- type CtyunVideoResponse
- type TaskAdaptor
- func (a *TaskAdaptor) BuildRequestBody(c *gin.Context, info *relaycommon.RelayInfo) (io.Reader, error)
- func (a *TaskAdaptor) BuildRequestHeader(c *gin.Context, req *http.Request, info *relaycommon.RelayInfo) error
- func (a *TaskAdaptor) BuildRequestURL(info *relaycommon.RelayInfo) (string, error)
- func (a *TaskAdaptor) ConvertToOpenAIVideo(task *model.Task) ([]byte, error)
- func (a *TaskAdaptor) DoRequest(c *gin.Context, info *relaycommon.RelayInfo, requestBody io.Reader) (*http.Response, error)
- func (a *TaskAdaptor) DoResponse(c *gin.Context, resp *http.Response, info *relaycommon.RelayInfo) (taskID string, taskData []byte, taskErr *dto.TaskError)
- func (a *TaskAdaptor) EstimateBilling(c *gin.Context, info *relaycommon.RelayInfo) map[string]float64
- func (a *TaskAdaptor) FetchTask(baseUrl, key string, body map[string]any, proxy string) (*http.Response, error)
- func (a *TaskAdaptor) GetChannelName() string
- func (a *TaskAdaptor) GetModelList() []string
- func (a *TaskAdaptor) Init(info *relaycommon.RelayInfo)
- func (a *TaskAdaptor) ParseTaskResult(respBody []byte) (*relaycommon.TaskInfo, error)
- func (a *TaskAdaptor) ValidateRequestAndSetAction(c *gin.Context, info *relaycommon.RelayInfo) (taskErr *dto.TaskError)
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)
Click to show internal directories.
Click to hide internal directories.