Mureka AI V7.6 Generate BGM is a fast AI music generation model that creates high-quality background music via the official Mureka API. Ready-to-use REST inference API for AI BGM generation, video soundtracks, game music, podcast intros, advertising audio, social media content, and professional music production workflows with simple integration, no coldstarts, and affordable pricing.
Chờ
$0.03cho mỗi lần chạy·~33 / $1
Dreamy female vocal pop song with soft electronic beat, emotional piano chords, atmospheric pads, catchy hook, romantic cinematic mood, modern pop production, clean mix, suitable for short video background music
Mureka AI V7.6 Generate BGM creates background music tracks from a text prompt, with optional instrumental reference guidance and support for multiple generations in a single request. It is suitable for videos, podcasts, ads, games, livestreams, and other content workflows that need original non-vocal music.
Prompt-based background music generation Generate instrumental tracks from a natural-language description of mood, genre, tempo, or instrumentation.
Optional instrumental reference guidance
Use instrumental_id to guide the generation toward a particular musical direction.
Multiple generations per run
Generate up to 3 background music tracks in one request with number_of_songs.
Flexible output formats
Export generated tracks as mp3, wav, or flac.
Simple pricing Pricing depends only on how many tracks you generate.
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Prompt describing the background music. Official limit: up to 1024 characters. |
| number_of_songs | No | Number of generations. Range: 1–3. Default: 1. |
| output_format | No | Output audio format after re-uploading to WaveSpeed CDN. Supported values: mp3, wav, flac. Default: mp3. |
| instrumental_id | No | Optional Mureka uploaded instrumental reference file ID. |
instrumental_id if you want stronger musical guidance.1 to 3.mp3, wav, or flac.Dreamy female vocal pop song with soft electronic beat, emotional piano chords, atmospheric pads, catchy hook, romantic cinematic mood, modern pop production, clean mix, suitable for short video background music
Pricing is based on number_of_songs.
| Number of Songs | Cost |
|---|---|
| 1 | $0.03 |
| 2 | $0.06 |
| 3 | $0.09 |
number_of_songsoutput_format and instrumental_id do not affect pricingnumber_of_songs when you want multiple variations from the same idea.instrumental_id only when you need tighter musical guidance.mp3 for convenience, then use wav or flac when higher-quality output matters more.prompt is required.number_of_songs supports values from 1 to 3.prompt supports up to 1024 characters.output_format defaults to mp3.number_of_songs.Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/mureka-ai/mureka-v7.6/generate-bgm with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Mureka v7.6 Generate Bgm below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"number_of_songs": 1,
"output_format": "mp3"
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/mureka-ai/mureka-v7.6/generate-bgm" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
created|processing) sleep 2 ;;
*) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/mureka-ai/mureka-v7.6/generate-bgm";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"number_of_songs": 1,
"output_format": "mp3"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
`https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"number_of_songs": 1,
"output_format": "mp3"
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/mureka-ai/mureka-v7.6/generate-bgm", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout"}:
raise RuntimeError(result)
if status not in {"created", "processing"}:
raise RuntimeError(f"Unexpected status: {status}")
time.sleep(2)Mureka v7.6 Generate Bgm is a Mureka Ai model for audio generation, exposed as a REST API on WaveSpeedAI. Mureka AI V7.6 Generate BGM is a fast AI music generation model that creates high-quality background music via the official Mureka API. Ready-to-use REST inference API for AI BGM generation, video soundtracks, game music, podcast intros, advertising audio, social media content, and professional music production workflows with simple integration, no coldstarts, and affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/mureka-ai/mureka-ai-mureka-v7.6-generate-bgm.
Mureka v7.6 Generate Bgm starts at $0.030 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `instrumental_id`, `number_of_songs`, `output_format`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/mureka-ai/mureka-ai-mureka-v7.6-generate-bgm.
Median end-to-end generation time on WaveSpeedAI is around 51 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.
Commercial usage rights depend on the model's license, set by its provider (Mureka Ai). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.