MMAudio V2
Integroi
mmaudio-v2
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/mmaudio-v2?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/mmaudio-v2?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/mmaudio-v2", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/fi/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "mmaudio-v2",
"input": {
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}
}
Kutsu mallia MMAudio V2 (mmaudio-v2) Doitong API:n kautta. Dokumentaatio agenteille: https://doitong.com/fi/developers/models/mmaudio-v2.md
POST https://api.doitong.ru/v1/run/mmaudio-v2?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}
Jos vastauksen tila on "queued" tai "running", kysy GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 uudelleen, kunnes tila on "succeeded"; tiedostot ovat kohteessa outputs[].url. POST https://api.doitong.ru/v1/quote/mmaudio-v2 samalla rungolla palauttaa tarkan hinnan ennen suorittamista.
Tämä pyyntö: 0,005 $ 5 API-krediittiä · ≈ 0,53 ₽ Suorita tällä sivulla
Uusi API-avaimesi. Se näytetään vain nyt, ja se on jo koodissa ja alla olevassa API-avainkentässä. Pidä se salassa: älä koskaan lisää sitä selaimessa suoritettavaan koodiin.
Esimerkit
Muodosta pyyntö
Säätimet luodaan mallin skeemasta. Koodi ja hinta päivittyvät, kun muutat arvoja.
/run/mmaudio-v2?wait=20
hinta → 0,005 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/mmaudio-v2?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/mmaudio-v2?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/mmaudio-v2", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "mmaudio-v2",
"input": {
"video": "https://content.doitong.com/dev-api/2026/10/21/req_qicb9wfr7rqfo46hqcxollq6/0-QQGxyL6x8ywkCEWdZ94UY_YyJVjs3R.mp4",
"prompt": "Gentle waves lapping against a wooden boat, oars creaking, seagulls calling in the distance, light wind",
"duration": 5
},
"wait_seconds": 20
}
}
}
Suorita tämä pyyntö
Avaimesi säilyy tässä selaimessa: se lähetetään vain Doitong APIlle ja tallennetaan localStorageen vain, jos valitset Muista. Hanki API-avain
Tietoja: MMAudio V2
MMAudio V2 analysoi videon ja luo siihen sopivan äänen: askelia rytmiin, roiskeita, moottoreita, väkijoukkoa ja huoneen taustaääniä promptin ja valinnaisen negatiivisen promptin ohjaamana. Luo 1–30 sekuntia ääntä ja palauttaa videon uudella ääniraidalla.
Parametrit
Lähetä joko kanoninen nimi tai natiivi nimi, älä molempia. Kanoniset nimet
video_urlpakollinen
video
promptpakollinen
negative_promptvalinnainen
seedvalinnainen
num_stepsvalinnainen
durationvalinnainen
cfg_strengthvalinnainen
mask_away_clipvalinnainen
Tiedostoparametrit hyväksyvät julkisen https://-URL:n, enintään 10 MB:n data:-URI:n tai lähetyksen file_url-arvon. Tiedostot
Tulos
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "mmaudio-v2",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 5,
"usd": "0.005",
"charged": 5,
"refunded": 0
},
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
"prompt": "Night forest ambience, soft paws running on grass, crickets, gentle magical chimes",
"duration": 6
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
}
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Tuloksen kentät
- video
- object {url, content_type, file_name, file_size}Tulostevideo, joka sisältää synkronoidut huulten liikkeet.
Muut MMAudio V2-muunnelmat
Lisää malleja: Ääni
Tekoälyagenteille: tämän sivun Markdown-muoto on osoitteessa https://doitong.com/fi/developers/models/mmaudio-v2.md. Kaikki mallit ja oppaat: https://doitong.com/developers/llms.txt