Ana içeriğe geç
mmaudio avatarı

MMAudio V2 API

Sessiz bir videoya metin prompt’undan gerçekçi ve senkronize ses efektleri, Foley, ortam sesi ya da müzik ekleyin; video yeni ses bandıyla geri dönsün.

üretilen video için saniye başına 0.001

Model girdisi

Input

URL of the input video to add a generated audio track to.

Text description of the sound to generate (sound effects, Foley, ambience, or music).

Audio characteristics to steer away from.

Random seed for reproducible generation. Leave unset for a random result.

Min: 4 - Max: 50

Number of diffusion inference steps.

Min: 1 - Max: 30

Duration of the generated audio in seconds.

Min: 0 - Max: 20

Classifier-free guidance strength; higher follows the prompt more strictly.

Whether to mask away the input video's visual conditioning during generation.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Loading
Generated in 9.342 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1

MMAudio V2 API

MMAudio V2 is a video-to-video AI model by mmaudio. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.001 per second of video.

POST https://queue.modelrunner.run/mmaudio/v2

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/mmaudio/v2 \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "thunderstorm with heavy rain and distant rumbling thunder",
    "duration": 8,
    "num_steps": 25,
    "video_url": "https://media.modelrunner.ai/DzktjWqZAqCS1iWBKGhlm.mp4",
    "cfg_strength": 4.5,
    "mask_away_clip": false,
    "negative_prompt": "",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/mmaudio/v2/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/mmaudio/v2/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("mmaudio/v2", {
  input: {
    "prompt": "thunderstorm with heavy rain and distant rumbling thunder",
    "duration": 8,
    "num_steps": 25,
    "video_url": "https://media.modelrunner.ai/DzktjWqZAqCS1iWBKGhlm.mp4",
    "cfg_strength": 4.5,
    "mask_away_clip": false,
    "negative_prompt": ""
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/mmaudio/v2",
    headers=headers,
    json={
      "prompt": "thunderstorm with heavy rain and distant rumbling thunder",
      "duration": 8,
      "num_steps": 25,
      "video_url": "https://media.modelrunner.ai/DzktjWqZAqCS1iWBKGhlm.mp4",
      "cfg_strength": 4.5,
      "mask_away_clip": false,
      "negative_prompt": ""
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of MMAudio V2
NameTypeRequiredDescription
video_urlstring (uri)yesURL of the input video to add a generated audio track to.
promptstringyesText description of the sound to generate (sound effects, Foley, ambience, or music).
negative_promptstringnoAudio characteristics to steer away from. Default: "".
seedintegernoRandom seed for reproducible generation. Leave unset for a random result.
num_stepsintegernoNumber of diffusion inference steps. Default: 25.
durationnumbernoDuration of the generated audio in seconds. Default: 8.
cfg_strengthnumbernoClassifier-free guidance strength; higher follows the prompt more strictly. Default: 4.5.
mask_away_clipbooleannoWhether to mask away the input video's visual conditioning during generation. Default: false.

Machine-readable: OpenAPI schema · llms.txt

Use MMAudio V2 from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and MMAudio V2 becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint mmaudio/v2.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run mmaudio/v2 on ModelRunner to generate video”. MCP setup guide.

Model Detayları

Model Detayları

MMAudio V2, elinizdeki ya da sessiz bir videoya ses bandı kazandırır: bir video ve istediğiniz sesi anlatan kısa bir metin prompt’u verin; model senkronize bir ses katmanı — Foley, ses efektleri, ortam sesi ya da müzik — üretir, bunu videoya geri gömer ve yeni sesiyle tek bir MP4 olarak döndürür. Ses, ekrandaki eyleme göre zamanlanır; adımlar, su sıçramaları, motor gürültüsü, rüzgâr ya da müzik altlığı karede olup bitenle hizalanır. Sonucu tamamen `prompt` üzerinden yönetin; istemediğiniz seslerden uzaklaşmak için `negative_prompt` kullanın.

## En uygun olduğu işler - Sessiz görüntüye Foley ve ses efektleri ekleyip eylemleri (adımlar, darbeler, su, makineler) duyulur ve senkron kılmak - B-roll ve tanıtıcı çekimlerin üzerine ortam sesi ya da oda tonu sermek — yağmur, orman, kalabalık, rüzgâr - Bir metin açıklamasından klibe hızlıca müzik altlığı ya da atmosferik bir müzik üretmek - Sessiz çıkan animasyon, oyun kaydı ya da yapay zekâ üretimi videonun ses tasarımını yapmak

## Şu durumlarda başka bir model seçin - Konuşan birinin ağzını yeni bir konuşmayla yeniden senkronlamak istiyorsanız — bu model ortam/efekt sesi üretir, dudak senkronlu diyalog değil; bir lip-sync modeli kullanın - Metinden seslendirme ya da diyalog gerekiyorsa — bir text-to-speech modeli kullanın, sesi sonra kendiniz birleştirin - Sesi gömülü bir video değil, tek başına bir ses dosyası istiyorsanız — buna özel bir text-to-audio modeli kullanın - Videonun kendisini bir prompt ya da görselden üretmeniz gerekiyorsa — önce bir text-to-video ya da image-to-video modeli kullanın, sesi sonra burada ekleyin

## İpuçları - Görüntüyü değil, istediğiniz sesi somut biçimde `prompt` içinde tarif edin (\"yapraklara düşen hafif yağmur, uzakta gök gürültüsü\", \"neşeli akustik gitar\") - `duration` değerini (saniye, 1–30) klibinize göre ayarlayın; ücret çıktı saniyesi başına faturalanır - Hızdan ödün vererek biraz daha temiz ses için `num_steps` değerini yükseltin; prompt’a daha sıkı uymak için `cfg_strength` değerini yükseltin

## Gelişmiş Yapılandırma - `mask_away_clip` (varsayılan `false`), üretim sırasında girdi videonun görsel koşullamasını maskeleyen araştırma amaçlı bir anahtardır; normal, videoya koşullu ses için kapalı bırakın.

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from \"@modelrunner/client\";

const result = await modelrunner.subscribe(\"mmaudio/v2\", { input: { video_url: \"https://media.modelrunner.ai/your-silent-clip.mp4\", prompt: \"gentle ambient nature sounds with birds and wind\", duration: 8, }, }); ```