- fix test isolation: support MMX_CONFIG_DIR env for config path override
- remove free-tier music models (music-2.6-free, music-cover-free), default to music-2.6 / music-cover
- improve auth login prompt: show region info for API key option
Separate format sets per API domain (T2A supports 7 formats including
pcmu_raw, pcmu_wav, opus; Music supports mp3, wav, pcm, flac) with
streaming constraint enforcement for T2A wav.
Allow users to set default models in config.json for each modality,
avoiding the need to pass --model on every command.
New config keys:
- default_text_model (default-text-model)
- default_speech_model (default-speech-model)
- default_video_model (default-video-model)
- default_music_model (default-music-model)
Resolution priority:
1. Explicit --model flag (highest)
2. Config file default
3. Hardcoded fallback (lowest)
Special cases:
- Video: auto-switch flags (--lastFrame, --subjectImage) take
priority over config defaults
- Music Cover: defaultMusicModel only applies if the value is a
valid cover model name, otherwise key-type default is preserved
Hardcoded defaults:
- text: MiniMax-M2.7
- speech: speech-2.8-hd
- video: MiniMax-Hailuo-2.3
- music: music-2.6-free (pay-as-you-go) / music-2.6 (token plan)
Tests: 97 pass (24 new tests across 6 test files)