7.4 KiB
7.4 KiB
ComfyUI-JM-MiniMax-API
一个集成 MiniMax API 服务的 ComfyUI 自定义节点集合。
功能
语音节点 (JM-MiniMax-API/Speech)
- 文本转语音: 使用 MiniMax 的高级文本转语音 API 将文本转换为自然的语音
- 声音克隆: 从音频样本中克隆声音
- 加载音频: 加载和预览用于声音克隆的音频文件
视频节点 (JM-MiniMax-API/Video)
- 视频生成: 使用 MiniMax 的统一视频生成 API 生成视频(支持文生视频、图生视频和视频主体参考)
- 检查视频状态: 检查视频生成任务的状态
- 下载视频: 将生成的视频下载到本地存储
视频生成节点
此节点使用 MiniMax 的统一视频生成 API 从文本提示词、图像或主体参考创建视频。
输入参数:
- api_key: MiniMax API 密钥
- model: 视频生成模型选择:
- T2V-01-Director, T2V-01: 文生视频模型(需要文本提示词)
- I2V-01-Director, I2V-01, I2V-01-live: 图生视频模型(需要图像输入)
- S2V-01: 视频主体参考模型
- prompt: 视频生成描述(最多 2000 字符,支持运镜指令)
- prompt_optimizer: 是否自动优化提示词以获得更好质量(true/false)
- image(可选): I2V 模型的图像输入(I2V-01-Director, I2V-01, I2V-01-live 必需)
- callback_url(可选): 状态更新回调 URL
模型使用指南:
- 文生视频(T2V 模型): 只需要文本提示词。图像输入是可选的。
- 图生视频(I2V 模型): 需要图像输入,文本提示词可选。如果提示词为空,模型将根据图像自动生成视频内容。
- 视频主体参考(S2V 模型): 目前支持 S2V-01 模型进行主体参考视频生成。
运镜指令:
使用 T2V-01-Director 或 I2V-01-Director 模型时,可以在提示词中使用运镜指令:
- 移动:[左移], [右移], [推进], [拉远], [上升], [下降]
- 旋转:[左摇], [右摇], [上摇], [下摇]
- 变焦:[变焦推近], [变焦拉远]
- 其他:[晃动], [跟随], [固定]
图像要求(适用于 I2V 模型):
- 格式:JPG/JPEG/PNG
- 长宽比:2:5 到 5:2 之间
- 短边:最少 300px
- 文件大小:最大 20MB
输出:
- task_id: 视频生成任务的任务 ID
检查视频状态节点
此节点检查视频生成任务的状态并等待直到完成。
输入参数:
- api_key: MiniMax API 密钥
- task_id: 来自视频生成节点的任务 ID
- check_interval: 检查间隔(秒)(默认:30,范围:10-300)
- max_wait_time: 最大等待时间(秒)(默认:1800/30分钟,范围:5分钟-2小时)
输出:
- status: 任务状态(processing, success, failed)
- file_id: 生成视频的文件 ID(下载时必需)
- video_url: 生成视频的下载 URL(可能为空)
- cover_image_url: 视频封面图像的 URL
功能特性:
- 自动轮询: 持续检查状态直到完成或失败
- 进度跟踪: 显示已用时间、剩余时间和尝试次数
- 超时保护: 通过可配置的最大等待时间防止无限等待
- 智能间隔: 可自定义检查间隔,平衡响应性和 API 使用
下载视频节点
此节点使用状态检查的 file_id 下载生成的视频。
输入参数:
- api_key: MiniMax API 密钥
- file_id: 来自检查视频状态节点的文件 ID
- filename_prefix: 下载视频文件的前缀
输出:
- video_path: 下载视频文件的绝对路径
处理流程:
- 使用 file_id 从 MiniMax 文件 API 获取下载 URL
- 带进度跟踪的视频文件下载
- 保存到 ComfyUI 输出目录并添加时间戳
视频工作流示例
文生视频工作流:
- 使用视频生成节点选择 T2V-01-Director 或 T2V-01 模型
- 输入您的 API 密钥并编写详细的文本提示词
- 运行以获取 task_id
- 使用检查视频状态节点监控进度
- 状态为 "success" 后,使用下载视频节点保存视频
图生视频工作流:
- 在 ComfyUI 中加载图像(使用加载图像节点)
- 将其连接到视频生成节点
- 选择 I2V 模型(推荐 I2V-01-Director)
- 输入 API 密钥,可选择性地编写带有运镜指令的提示词
- 运行以获取 task_id
- 使用检查视频状态节点监控进度(将自动等待直到完成)
- 状态为 "success" 后,使用下载视频节点和 file_id 保存视频
安装
- 克隆此仓库到你的 ComfyUI custom_nodes 文件夹:
cd ComfyUI/custom_nodes
git clone https://github.com/yourusername/ComfyUI-JM-MiniMax-API.git
- 安装依赖:
pip install -r requirements.txt
- 重启 ComfyUI
使用方法
LoadAudio 节点
此节点允许您加载和预览用于声音克隆的音频文件。
输入参数:
- audio_path: 从输入目录中选择现有的音频文件
- 上传按钮: 点击上传新的音频文件(支持 .mp3、.wav、.m4a)
输出:
- audio_file: 所选音频文件的绝对路径
VoiceCloning 节点
此节点使用 MiniMax 的声音克隆 API 从音频样本中克隆声音。
输入参数:
- api_key: MiniMax API 密钥
- group_id: MiniMax 组 ID
- audio_file: 要克隆的音频文件路径(连接自 LoadAudio 节点)
- voice_id: 克隆声音的 ID(至少 8 个字符,以字母开头,包含数字)
- need_noise_reduction: 是否应用噪声降低(true/false)
- need_volume_normalization: 是否规范化音量(true/false)
- preview_text: 可选的预览克隆声音的文本(最多 300 个字符)
- model: 用于预览的 TTS 模型
- accuracy: 克隆准确度阈值(0.0-1.0)
输出:
- voice_id: 克隆声音的 ID(可以连接到 TextToSpeech 节点)
TextToSpeech 节点
此节点使用 MiniMax 的 API 将文本转换为语音。
输入参数:
- api_key: MiniMax API 密钥
- group_id: MiniMax 组 ID
- text: 要转换的文本(最多 5000 个字符)
- model: TTS 模型选择(speech-02-hd、speech-02-turbo 等)
- voice_id: 声音选择(有多种选项可用)
- custom_voice_id(可选): 来自声音克隆的自定义声音 ID(如果提供,将覆盖 voice_id)
- speed: 语速(0.5 到 2.0)
- volume: 音量(0.1 到 10.0)
- pitch: 音调调整(-12 到 12)
- emotion: 情感选择(happy、sad 等)
- subtitle_enable: 是否生成字幕文件(true/false)
- filename_prefix: 输出文件名前缀
- language_boost(可选): 语言增强
输出:
- audio_path: 生成的音频文件的绝对路径
- subtitle_path: 生成的字幕文件的绝对路径(如果启用了字幕)
输出文件说明:
-
音频文件 (audio_path):
- 格式: MP3
- 文件名格式: prefix_YYYYMMDD-HHMMSS.mp3
-
字幕文件 (subtitle_path):
- 格式: JSON
- 文件名格式: prefix_subtitle_YYYYMMDD-HHMMSS.json
- 包含精确到毫秒的句子级别时间戳
工作流示例
- 使用 LoadAudio 节点上传或选择音频文件
- 将输出连接到 VoiceCloning 节点以克隆声音
- 将 voice_id 输出连接到 TextToSpeech 节点的 custom_voice_id 输入
- 在 TextToSpeech 节点中输入文本并配置其他参数
- 运行工作流以使用克隆的声音生成语音
许可证
MIT License