Mureka V9 is the song model from Mureka, a brand of Kunlun Tech's Skywork AI, released in March 2026. You bring the lyrics, it brings the melody, the arrangement and the singer. In the Kadraris catalog this is the model to reach for when the words have to be sung, not just a backing track.
What you can make
- A jingle or brand song built around your slogan.
- A rough demo of a lyric idea before you book a studio or a vocalist.
- Intro music and soundtracks for podcasts, Reels and YouTube.
- A personal song for a birthday or a wedding, with names in the chorus.
- The audio half of a music video, which you can then hand to Music Video 1.0.
Settings that matter
- Lyrics: required, up to 3,000 characters. Section tags like [Verse], [Chorus], [Bridge] and [Outro] tell the model how to arrange the track.
- Style prompt: optional, up to 1,024 characters. List genre, mood, tempo, voice and key instruments, for example "male vocal, 120 BPM, indie pop, jangly guitars".
- Output: one song per request as an audio file.
- Not exposed yet: several songs per call, WAV or FLAC output, and reference, vocal or melody IDs. Mureka offers them, Kadraris does not pass them through for now.
- Getting a keeper: run the same lyrics two or three times with small changes to the style line and pick the best take.
Starter prompt
Style: upbeat acoustic pop, female vocal, handclaps, 105 BPM
[Verse]
Coffee on the counter, sunlight on the floor
[Chorus]
Good morning, good morning, open up the doorKeep lines short and of similar length; singable syllable counts make the melody land more naturally.
Questions
How much is one Mureka V9 song?
$0.15 per song. You see the cost before you press Generate, and a failed song costs nothing.
Can I release Mureka songs on Spotify or use them in ads?
You own the output as far as the law and Mureka's terms allow. Read those terms before you publish on streaming platforms or in paid campaigns.
I use Suno. Why would I pick Mureka V9 here?
Suno works inside its own app with subscriptions and has no public API. Here you pay per song from a balance that never expires and can call it from code. The Suno alternative guide compares the two, the Mureka V9 walkthrough covers lyrics to finished track, and the birthday song guide has ready lyrics.
Mureka V9 in your code
curl https://kadraris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $KADRARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mureka-v9",
"input": {
"prompt": "Upbeat synth-pop, male vocal, punchy bass and bright synth leads",
"lyrics": "[Verse]\nThe early train is leaving\n[Chorus]\nWe ride into the light"
}
}'import os, time, requests
API = "https://kadraris.com/v1"
H = {"Authorization": f"Bearer {os.environ['KADRARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "mureka-v9",
"input": {
"prompt": "Upbeat synth-pop, male vocal, punchy bass and bright synth leads",
"lyrics": "[Verse]\nThe early train is leaving\n[Chorus]\nWe ride into the light"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://kadraris.com/v1";
const headers = { Authorization: `Bearer ${process.env.KADRARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "mureka-v9",
"input": {
"prompt": "Upbeat synth-pop, male vocal, punchy bass and bright synth leads",
"lyrics": "[Verse]\nThe early train is leaving\n[Chorus]\nWe ride into the light"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Input fields
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt | string | ≤ 1024 chars | |
lyrics * | string | ≤ 3000 chars |
Fetch this list as JSON with GET /v1/models/mureka-v9.























