feat(leonardo): 接入视频通道并新增 seedance-2.0/minimax-h3 模型

This commit is contained in:
2026-08-08 21:55:33 +08:00
parent 6ba80f5109
commit 6d17caaf80
11 changed files with 1128 additions and 106 deletions
@@ -460,6 +460,49 @@ func (h *UserGenerationHandler) VideoPresets(c *gin.Context) {
"max_reference_images": 9,
"reference_mode": "style",
},
{
"key": "seedance-2.0-不卡人脸",
"label": "Seedance 2.0 (Leonardo 私有)",
"type": "video",
"provider": "leonardo",
"durations": []string{"4s", "5s", "6s", "7s", "8s", "9s", "10s", "11s", "12s", "13s", "14s", "15s"},
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"max_reference_images": 8,
"max_images": 4,
"max_videos": 3,
"max_audios": 1,
"reference_mode": "style",
},
{
"key": "seedance-2.0-fast-不卡人脸",
"label": "Seedance 2.0 Fast (Leonardo 私有)",
"type": "video",
"provider": "leonardo",
"durations": []string{"4s", "5s", "6s", "7s", "8s", "9s", "10s", "11s", "12s", "13s", "14s", "15s"},
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"max_reference_images": 8,
"max_images": 4,
"max_videos": 3,
"max_audios": 1,
"reference_mode": "style",
},
{
"key": "minimax-h3",
"label": "MiniMax H3 (Leonardo 私有)",
"type": "video",
"provider": "leonardo",
"durations": []string{"5s", "10s", "15s"},
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"1440p"},
"max_reference_images": 8,
"max_images": 5,
"max_videos": 0,
"max_audios": 3,
"max_audio_seconds": 15,
"reference_mode": "style",
},
{
"key": "firefly-video",
"label": "Firefly Video",
@@ -670,7 +713,9 @@ func (h *UserGenerationHandler) catalogEntries(c *gin.Context) ([]gin.H, error)
"type": "video",
"ratios": []string{"2:3", "3:2", "1:1", "9:16", "16:9"},
"resolutions": []string{"720p"},
"durations": []string{"6s", "10s", "15s"},
// Console 视频吃 1–15 秒的整数时长,所以按秒计价(同 seedance);
// 参考图只有 1 张首帧(上游只有 image 字段,没有尾帧)。
"durations": []string{"4s", "5s", "6s", "7s", "8s", "9s", "10s", "11s", "12s", "13s", "14s", "15s"},
"max_reference_images": 1,
"reference_mode": "frame",
"description": "Grok Imagine video (文/图生视频)",
@@ -696,6 +741,41 @@ func (h *UserGenerationHandler) catalogEntries(c *gin.Context) ([]gin.H, error)
"max_reference_images": 6,
"description": "Leonardo Seedream 4.5 (生图 / 图生图)",
},
{
"id": "seedance-2.0-不卡人脸",
"provider": "leonardo",
"type": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"durations": []string{"4s", "5s", "6s", "7s", "8s", "9s", "10s", "11s", "12s", "13s", "14s", "15s"},
// 参考资产总上限 8 = 4 图 + 1 音频 + 3 视频(分类上限在服务端校验)。
"max_reference_images": 8,
"reference_mode": "style",
"description": "Leonardo Seedance 2.0 (私有生成 / 图音视频参考)",
},
{
"id": "seedance-2.0-fast-不卡人脸",
"provider": "leonardo",
"type": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"durations": []string{"4s", "5s", "6s", "7s", "8s", "9s", "10s", "11s", "12s", "13s", "14s", "15s"},
"max_reference_images": 8,
"reference_mode": "style",
"description": "Leonardo Seedance 2.0 Fast (私有生成 / 图音视频参考)",
},
{
"id": "minimax-h3",
"provider": "leonardo",
"type": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"1440p"},
"durations": []string{"5s", "10s", "15s"},
// 参考资产总上限 8 = 5 图 + 3 音频(分类上限在服务端校验)。
"max_reference_images": 8,
"reference_mode": "style",
"description": "Leonardo MiniMax H3 / hailuo-03 (1440p / 图音参考)",
},
{
"id": "flux-klein-2",
"provider": "krea",
@@ -898,6 +978,33 @@ func (h *UserGenerationHandler) publicModels() ([]gin.H, error) {
"description": "Leonardo Seedream 4.5",
"stub": false,
},
{
"id": "seedance-2.0-不卡人脸",
"provider": "leonardo",
"kind": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"description": "Leonardo Seedance 2.0 (私有生成)",
"stub": false,
},
{
"id": "seedance-2.0-fast-不卡人脸",
"provider": "leonardo",
"kind": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"720p"},
"description": "Leonardo Seedance 2.0 Fast (私有生成)",
"stub": false,
},
{
"id": "minimax-h3",
"provider": "leonardo",
"kind": "video",
"ratios": []string{"16:9", "9:16"},
"resolutions": []string{"1440p"},
"description": "Leonardo MiniMax H3 (1440p)",
"stub": false,
},
{
"id": "flux-klein-2",
"provider": "krea",