MiniMax Music 3
Tích hợp
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/vi/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
}
}
Gọi mô hình MiniMax Music 3 (minimax/music-3) qua Doitong API. Tài liệu cho tác nhân: https://doitong.com/vi/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
}
Nếu trạng thái phản hồi là "queued" hoặc "running", hãy thăm dò GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 cho đến khi trạng thái là "succeeded"; tệp nằm trong outputs[].url. POST https://api.doitong.com/v1/quote/minimax/music-3 với cùng nội dung sẽ trả về giá chính xác trước khi chạy.
Yêu cầu này: 0,06 $ 60 tín dụng API Chạy trên trang này
Khóa API mới của bạn. Khóa này chỉ hiển thị lúc này và đã được chèn vào mã cũng như trường khóa API bên dưới. Hãy giữ bí mật: không bao giờ đưa khóa này vào mã chạy trong trình duyệt.
Ví dụ
Tạo một yêu cầu
Các điều khiển được tạo từ lược đồ mô hình. Mã và giá sẽ cập nhật khi bạn thay đổi chúng.
/run/minimax/music-3?wait=20
báo giá → 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
}
}
}
Chạy yêu cầu này
Key của bạn vẫn nằm trong trình duyệt này: key chỉ được gửi đến Doitong API và chỉ được lưu trong localStorage nếu bạn chọn Ghi nhớ. Nhận khóa API
Giới thiệu về MiniMax Music 3
MiniMax Music 3 hát lời của bạn trên một bản phối hoàn chỉnh. Mô tả thể loại, nhịp độ, giọng, tâm trạng, giọng hát và nhạc cụ trong lời nhắc, đồng thời đánh dấu cấu trúc bài hát trong lời bằng các thẻ như [verse], [chorus] và [bridge], mỗi thẻ trên một dòng riêng. Thời lượng (1 đến 300 giây, mặc định 60) là giới hạn trên; bài hát có thể kết thúc sớm hơn.
Tham số
promptbắt buộc
lyricsbắt buộc
durationtùy chọn
seedtùy chọn
num_inference_stepstùy chọn
guidance_scaletùy chọn
Đầu ra
{
"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"
}
}
Các trường đầu ra
- audio
- object {url, content_type, file_name, file_size}Tệp âm thanh đầu ra ở định dạng WAV stereo, sử dụng 44.1 kHz và mẫu 16-bit.
- seed
- integerSeed ngẫu nhiên được sử dụng trong quá trình tạo sinh.
- duration
- numberBáo cáo số giây âm thanh thực tế đã được tạo, không nhất thiết dài bằng thời lượng yêu cầu.
Các biến thể MiniMax Music khác
Thêm mô hình: Văn bản sang nhạc
Dành cho tác nhân AI: trang này ở dạng Markdown tại https://doitong.com/vi/developers/models/minimax/music-3.md. Tất cả mô hình và hướng dẫn: https://doitong.com/developers/llms.txt