From 332e5ec146eb1ce57d555b36a2ed7e182df7e50e Mon Sep 17 00:00:00 2001 From: octo-patch <266937838+octo-patch@users.noreply.github.com> Date: Tue, 15 Sep 2026 21:59:44 +0800 Subject: [PATCH] Register MiniMax H3 text-to-video configuration --- .../minimax_model_provider/credential/ttv.py | 25 +++++++++++++++++++ .../minimax_model_provider.py | 6 ++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/apps/models_provider/impl/minimax_model_provider/credential/ttv.py b/apps/models_provider/impl/minimax_model_provider/credential/ttv.py index c2765906f49..9a8e2bea4f1 100644 --- a/apps/models_provider/impl/minimax_model_provider/credential/ttv.py +++ b/apps/models_provider/impl/minimax_model_provider/credential/ttv.py @@ -109,3 +109,28 @@ def get_model_params_setting_form(self, model_name: str): :return: Parameter setting form. """ return MiniMaxModelParams() + + +class MiniMaxH3ModelParams(BaseForm): + """Required parameters for MiniMax H3 text-to-video generation.""" + + resolution = SingleSelect( + _('Resolution'), text_field='label', value_field='value', + option_list=[{'label': '2K', 'value': '2K'}], + required=True, default_value='2K', + ) + duration = SliderField( + _('Duration (seconds)'), _min=4, _max=15, _step=1, precision=0, + required=True, default_value=4, + ) + + +class MiniMaxH3TextToVideoModelCredential(TextToVideoModelCredential): + """Use the MiniMax v2 endpoint and required H3 generation parameters.""" + + api_base = forms.TextInputField('API URL', required=True, + default_value='https://api.minimaxi.com/v2') + api_key = PasswordInputField('API Key', required=True) + + def get_model_params_setting_form(self, model_name: str): + return MiniMaxH3ModelParams() diff --git a/apps/models_provider/impl/minimax_model_provider/minimax_model_provider.py b/apps/models_provider/impl/minimax_model_provider/minimax_model_provider.py index c9f1d7f90f1..15c3537916c 100644 --- a/apps/models_provider/impl/minimax_model_provider/minimax_model_provider.py +++ b/apps/models_provider/impl/minimax_model_provider/minimax_model_provider.py @@ -13,7 +13,10 @@ from models_provider.impl.minimax_model_provider.credential.llm import MiniMaxLLMModelCredential from models_provider.impl.minimax_model_provider.credential.tti import MiniMaxTextToImageModelCredential from models_provider.impl.minimax_model_provider.credential.tts import MiniMaxTTSModelCredential -from models_provider.impl.minimax_model_provider.credential.ttv import TextToVideoModelCredential +from models_provider.impl.minimax_model_provider.credential.ttv import ( + MiniMaxH3TextToVideoModelCredential, + TextToVideoModelCredential, +) from models_provider.impl.minimax_model_provider.model.llm import MiniMaxChatModel from models_provider.impl.minimax_model_provider.model.tti import MiniMaxTextToImageModel from models_provider.impl.minimax_model_provider.model.tts import MiniMaxTextToSpeech @@ -87,6 +90,7 @@ ModelInfo("image-01", _(""), ModelTypeConst.TTI, minimax_tti_model_credential, MiniMaxTextToImageModel), ] minimax_ttv_list = [ + ModelInfo("MiniMax-H3", _(""), ModelTypeConst.TTV, MiniMaxH3TextToVideoModelCredential(), GenerationVideoModel), ModelInfo("MiniMax-Hailuo-2.3", _(""), ModelTypeConst.TTV, minimax_ttv_model_credential, GenerationVideoModel), ]