MMAudio V2
MMAudio generates synchronized audio given video and/or text inputs. It can be combined with video models to get videos with audio.
Features
MMAudio V2 is an advanced multimodal audio generation model capable of synthesizing high-quality, synchronized audio from both video and text inputs. By integrating a novel multimodal joint training framework, MMAudio V2 enhances semantic alignment and audio-visual synchrony, making it a powerful tool for various multimedia applications.
Key Features
- Multimodal Input Support: Accepts both video and text inputs, providing flexibility in audio generation tasks.
- High-Quality Audio Output: Generates audio with a sampling rate of 44.1kHz, ensuring clarity and detail.
- Synchronized Audio-Visual Output: Utilizes a conditional synchronization module to align audio with video frames accurately.
- Efficient Performance: Generates an 8-second audio clip in approximately 1.23 seconds, facilitating rapid content creation.
- Compact Model Size: With just 157 million parameters, MMAudio V2 is optimized for performance without compromising quality.
ComfyUI
mmaudio V2 is also available on ComfyUI, providing local inference capabilities through a node-based workflow. This ensures flexible and efficient video generation on your system, catering to various creative workflows.
Limitations
- Input Quality Dependency: The quality of the generated audio is heavily reliant on the clarity and accuracy of the input video or text.
- Computational Resources: High-resolution audio generation may require substantial computational power.
- Learning Curve: Effective use may necessitate familiarity with multimodal data processing and audio synthesis workflows.
Out-of-Scope Use
The model and its derivatives may not be used in any way that violates applicable national, federal, state, local, or international law or regulation, including but not limited to:
- Exploiting, harming, or attempting to exploit or harm minors, including solicitation, creation, acquisition, or dissemination of child exploitative content.
- Generating or disseminating verifiably false information with the intent to harm others.
- Creating or distributing personal identifiable information that could be used to harm an individual.
- Harassing, abusing, threatening, stalking, or bullying individuals or groups.
- Producing non-consensual nudity or illegal pornographic content.
- Making fully automated decisions that adversely affect an individual’s legal rights or create binding obligations.
- Facilitating large-scale disinformation campaigns.
Accelerated Inference
Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v2/wavespeed-ai/mmaudio-v2" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"video": "https://d2g64w682n9w0w.cloudfront.net/media/ec44bbf6abac4c25998dd2c4af1a46a7/videos/1744961424459636159_srROLJGD.mp4",
"prompt": "Indian holy music",
"negative_prompt": "",
"seed": 0,
"num_inference_steps": 25,
"duration": 8,
"guidance_scale": 4.5,
"mask_away_clip": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v2/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
video | string | Yes | https://d2g64w682n9w0w.cloudfront.net/media/ec44bbf6abac4c25998dd2c4af1a46a7/videos/1744961424459636159_srROLJGD.mp4 | - | The URL of the video to generate the audio for. |
prompt | string | Yes | Indian holy music | - | The prompt to generate the audio for. |
negative_prompt | string | No | - | - | The negative prompt to generate the audio for. |
seed | integer | No | - | -1 ~ 9999999999 | The seed for the random number generator |
num_inference_steps | integer | No | 25 | 4 ~ 50 | The number of steps to generate the audio for. |
duration | integer | No | 8 | 1 ~ 30 | The duration of the audio to generate. |
guidance_scale | number | No | 4.5 | 0 ~ 20 | The strength of Classifier Free Guidance. |
mask_away_clip | boolean | No | false | - | Whether to mask away the clip. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |