mirror of
https://github.com/yangjian102621/geekai.git
synced 2026-04-24 20:14:26 +08:00
增加可灵视频算力配置
This commit is contained in:
@@ -150,7 +150,7 @@ type SystemConfig struct {
|
||||
DallPower int `json:"dall_power,omitempty"` // DALL-E-3 绘图消耗算力
|
||||
SunoPower int `json:"suno_power,omitempty"` // Suno 生成歌曲消耗算力
|
||||
LumaPower int `json:"luma_power,omitempty"` // Luma 生成视频消耗算力
|
||||
KeLingPower int `json:"luma_power,omitempty"` // Luma 生成视频消耗算力
|
||||
KeLingPower int `json:"keling_power,omitempty"` // 可灵生成视频消耗算力
|
||||
AdvanceVoicePower int `json:"advance_voice_power,omitempty"` // 高级语音对话消耗算力
|
||||
PromptPower int `json:"prompt_power,omitempty"` // 生成提示词消耗算力
|
||||
|
||||
@@ -170,5 +170,6 @@ type SystemConfig struct {
|
||||
EnabledVerify bool `json:"enabled_verify"` // 是否启用验证码
|
||||
EmailWhiteList []string `json:"email_white_list"` // 邮箱白名单列表
|
||||
TranslateModelId int `json:"translate_model_id"` // 用来做提示词翻译的大模型 id
|
||||
MaxFileSize int `json:"max_file_size"` // 最大文件大小,单位:MB
|
||||
|
||||
}
|
||||
|
||||
@@ -28,11 +28,21 @@ func NewUploadHandler(app *core.AppServer, db *gorm.DB, manager *oss.UploaderMan
|
||||
}
|
||||
|
||||
func (h *UploadHandler) Upload(c *gin.Context) {
|
||||
file, err := h.uploaderManager.GetUploadHandler().PutFile(c, "file")
|
||||
// 判断文件大小
|
||||
file, err := c.FormFile("file")
|
||||
if err != nil {
|
||||
resp.ERROR(c, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if h.App.SysConfig.MaxFileSize > 0 && file.Size > int64(h.App.SysConfig.MaxFileSize)*1024*1024 {
|
||||
resp.ERROR(c, "文件大小超过限制")
|
||||
return
|
||||
}
|
||||
|
||||
file, err := h.uploaderManager.GetUploadHandler().PutFile(c, "file")
|
||||
if err != nil {
|
||||
resp.ERROR(c, err.Error())
|
||||
userId := 0
|
||||
res := h.DB.Create(&model.File{
|
||||
UserId: userId,
|
||||
|
||||
@@ -9,7 +9,6 @@ package video
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -147,7 +146,6 @@ func (s *Service) Run() {
|
||||
"err_msg": err.Error(),
|
||||
"progress": service.FailTaskProgress,
|
||||
"cover_url": "/images/failed.jpg",
|
||||
"prompt": task.Prompt,
|
||||
}).Error
|
||||
if err != nil {
|
||||
logger.Errorf("update task with error: %v", err)
|
||||
@@ -439,22 +437,10 @@ func (s *Service) LumaCreate(task types.VideoTask) (LumaRespVo, error) {
|
||||
"user_prompt": task.Prompt,
|
||||
"expand_prompt": params.PromptOptimize,
|
||||
"loop": params.Loop,
|
||||
"image_url": params.StartImgURL, // 图生视频
|
||||
"image_end_url": params.EndImgURL, // 图生视频
|
||||
}
|
||||
// 图生视频
|
||||
if params.StartImgURL != "" {
|
||||
// 下载图片,并转成 base64
|
||||
imageData, err := utils.DownloadImage(params.StartImgURL, "")
|
||||
if err == nil {
|
||||
reqBody["image_url"] = base64.StdEncoding.EncodeToString(imageData)
|
||||
}
|
||||
}
|
||||
if params.EndImgURL != "" {
|
||||
// 下载图片,并转成 base64
|
||||
imageData, err := utils.DownloadImage(params.EndImgURL, "")
|
||||
if err == nil {
|
||||
reqBody["image_end_url"] = base64.StdEncoding.EncodeToString(imageData)
|
||||
}
|
||||
}
|
||||
|
||||
var res LumaRespVo
|
||||
apiURL := fmt.Sprintf("%s/luma/generations", apiKey.ApiURL)
|
||||
logger.Debugf("API URL: %s, request body: %+v", apiURL, reqBody)
|
||||
@@ -584,15 +570,8 @@ func (s *Service) KeLingCreate(task types.VideoTask) (KeLingRespVo, error) {
|
||||
|
||||
// 处理图生视频
|
||||
if params.TaskType == "image2video" {
|
||||
// 下载图片,并转成 base64
|
||||
imageData, err := utils.DownloadImage(params.Image, "")
|
||||
if err == nil {
|
||||
payload["image"] = base64.StdEncoding.EncodeToString(imageData)
|
||||
}
|
||||
imageData, err = utils.DownloadImage(params.ImageTail, "")
|
||||
if err == nil {
|
||||
payload["image_tail"] = base64.StdEncoding.EncodeToString(imageData)
|
||||
}
|
||||
payload["image"] = params.Image
|
||||
payload["image_tail"] = params.ImageTail
|
||||
}
|
||||
|
||||
jsonPayload, err := json.Marshal(payload)
|
||||
|
||||
Reference in New Issue
Block a user