MiniMax Music 3
Integrieren
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/de/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
}
}
Rufe das Modell MiniMax Music 3 (minimax/music-3) über die Doitong API auf. Dokumentation für Agenten: https://doitong.com/de/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
}
Wenn der Antwortstatus "queued" oder "running" lautet, frage GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 ab, bis er "succeeded" lautet; die Dateien befinden sich in outputs[].url. POST https://api.doitong.com/v1/quote/minimax/music-3 mit demselben Body gibt den exakten Preis vor der Ausführung zurück.
Diese Anfrage: 0,06 $ 60 API-Credits Auf dieser Seite ausführen
Dein neuer API-Schlüssel. Sie wird nur jetzt angezeigt und befindet sich bereits im Code und im untenstehenden API-Schlüssel-Feld. Halten Sie sie geheim: Fügen Sie sie niemals in Code ein, der in einem Browser ausgeführt wird.
Beispiele
Anfrage erstellen
Die Steuerelemente werden aus dem Modellschema generiert. Code und Preis werden aktualisiert, während du sie änderst.
/run/minimax/music-3?wait=20
Preis → 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
}
}
}
Diese Anfrage ausführen
Dein Schlüssel bleibt in diesem Browser: Er wird nur an die Doitong API gesendet und nur gespeichert (localStorage), wenn du „Merken“ aktivierst. API-Schlüssel abrufen
Über MiniMax Music 3
MiniMax Music 3 singt Ihre Liedtexte über einer vollständigen Instrumentierung. Beschreiben Sie Genre, Tempo, Tonart, Stimmung, Gesang und Instrumente im Prompt und markieren Sie die Songstruktur in den Liedtexten mit Tags wie [verse], [chorus] und [bridge], jeweils in einer eigenen Zeile. Die Dauer (1 bis 300 Sekunden, standardmäßig 60) ist eine Obergrenze; der Song kann früher enden.
Parameter
prompterforderlich
lyricserforderlich
durationoptional
seedoptional
num_inference_stepsoptional
guidance_scaleoptional
Ausgabe
{
"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"
}
}
Ausgabefelder
- audio
- object {url, content_type, file_name, file_size}Ausgabe-Audiodatei im Stereo-WAV-Format mit 44.1 kHz und 16-Bit-Samples.
- seed
- integerWährend der Generierung verwendeter zufälliger Seed.
- duration
- numberMeldet, wie viele Sekunden Audio tatsächlich generiert wurden; dies entspricht nicht unbedingt der angeforderten Dauer.
Weitere MiniMax Music-Varianten
Weitere Modelle: Text zu Musik
Für KI-Agenten: Diese Seite ist als Markdown verfügbar unter https://doitong.com/de/developers/models/minimax/music-3.md. Alle Modelle und Anleitungen: https://doitong.com/developers/llms.txt