MiniMax Music 3
I-integrate
minimax/music-3
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/minimax/music-3?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/minimax/music-3?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/music-3", 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/fil/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "minimax/music-3",
"input": {
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}
}
Tawagin ang modelong MiniMax Music 3 (minimax/music-3) sa pamamagitan ng Doitong API. Dokumentasyon para sa mga agent: https://doitong.com/fil/developers/models/minimax/music-3.md
POST https://api.doitong.com/v1/run/minimax/music-3?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}
Kung ang response status ay "queued" o "running", i-poll ang GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 hanggang maging "succeeded"; nasa outputs[].url ang mga file. Ang POST https://api.doitong.com/v1/quote/minimax/music-3 na may parehong body ay nagbabalik ng eksaktong presyo bago patakbuhin.
Kahilingang ito: $0.06 60 kredito ng API Patakbuhin ito sa page na ito
Ang bago mong API key. Ipinapakita lang ito ngayon at nasa code at sa field ng API key sa ibaba na. Panatilihin itong sikreto: huwag kailanman ilagay sa code na tumatakbo sa browser.
Mga halimbawa
Bumuo ng kahilingan
Ang mga control ay binubuo mula sa schema ng modelo. Nagbabago ang code at presyo habang ina-adjust mo ang mga ito.
/run/minimax/music-3?wait=20
presyo → $0.06
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/minimax/music-3?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/minimax/music-3?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
}),
});
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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30,
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/minimax/music-3", 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": "minimax/music-3",
"input": {
"prompt": "Warm indie folk, acoustic guitar and soft brushed drums, gentle female vocal, 92 BPM, nostalgic summer evening",
"lyrics": "[verse]\nPorch lights humming on the edge of town\nWe count the fireflies as the sun goes down\n[chorus]\nStay a little longer, the night is young\nSing me the song that we never sung",
"duration": 30
},
"wait_seconds": 20
}
}
}
Patakbuhin ang kahilingang ito
Nananatili ang iyong key sa browser na ito: ipinapadala lamang ito sa Doitong API at sine-save (localStorage) lamang kung pipiliin mo ang Tandaan. Kumuha ng API key
Tungkol sa MiniMax Music 3
Inaawit ng MiniMax Music 3 ang lyrics mo sa isang kumpletong arrangement. Ilarawan ang genre, tempo, key, mood, vocals at mga instrumento sa prompt at markahan ang structure ng kanta sa lyrics gamit ang mga tag gaya ng [verse], [chorus] at [bridge], bawat isa sa sarili nitong linya. Ang duration (1 hanggang 300 segundo, 60 bilang default) ay pinakamataas na limitasyon; maaaring mas maagang matapos ang kanta.
Mga parameter
promptkinakailangan
lyricskinakailangan
durationopsyonal
seedopsyonal
num_inference_stepsopsyonal
guidance_scaleopsyonal
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "minimax/music-3",
"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": 60,
"usd": "0.06",
"charged": 60,
"refunded": 0
},
"input": {
"prompt": "Genre: acoustic pop. BPM: 96. Key: C major. Warm and intimate, soft female vocal, guitar and light piano",
"lyrics": "[verse]\nMorning light filtering through the pine\nEvery quiet street is yours and mine\n[chorus]\nSoftly the world begins to breathe",
"duration": 30
},
"output": {
"audio": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_name": "0-output.mp3",
"file_size": 1843200
},
"seed": 42,
"duration": 5
},
"outputs": [
{
"type": "audio",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp3",
"content_type": "audio/mpeg",
"file_size": 1843200,
"duration": 12,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Mga field ng output
- audio
- object {url, content_type, file_name, file_size}Output audio file sa stereo WAV format, gamit ang 44.1 kHz at 16-bit samples.
- seed
- integerRandom na seed na ginamit sa pagbuo.
- duration
- numberIniuulat kung ilang segundo ng audio ang aktuwal na nabuo, na hindi kinakailangang kasinghaba ng hiniling.
Iba pang variant ng MiniMax Music
Higit pang modelo: Text patungong Musika
Para sa mga AI agent: nasa Markdown ang pahinang ito sa https://doitong.com/fil/developers/models/minimax/music-3.md. Lahat ng modelo at gabay: https://doitong.com/developers/llms.txt