Remix a song in a new style
October 16, 2026
Table of contents
https://api.useapi.net/v1/mureka/music/remix
Re-record one of your songs in a new style, the same as Remix on mureka.ai. Mureka uses the original recording as the reference and keeps its lyrics, and the new songs follow the style you give in desc. You can also replace the lyrics or the title.
Like any song generation, a remix produces two songs and costs the same Mureka Gold as POST /music/create-advanced (24 Gold on V9.5 in our tests). It takes 30 to 60 seconds.
Remix works on songs with vocals. An instrumental song returns 400.
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
API tokenis required, see Setup useapi.net for details.
Request Body
{
"song_id": "user:777-mureka:12345678901234-song:33445566",
"desc": "D&B, hip-hop"
}
song_idis required, the song to remix.
Thesong_idvalue returned by one of the following endpoints:- GET /music
- GET /music/
song_id - POST /music/create
- POST /music/create-advanced
- POST /music/extend
- POST /music/regenerate
- POST /music/edit
- POST /music/remix
The song’s own account runs the remix, so there is no
accountparameter.-
descis optional, the new style: a comma-separated list of genres, moods and instruments. See supported values using GET /music/moods-and-genres.
When left out, the original song’s style is used.
Maximum length: 1000 characters. -
lyricsis optional, new lyrics. When left out, the original lyrics are used.
Maximum length: 5000 characters. -
titleis optional. When left out, the title is the original title plus(Remix).
Maximum length: 50 characters. -
vocal_genderis optional. Supported values:female,male. -
modelis optional. Supported values:V9.5,V9,V8.
When left out, the account’s default model is used if it supports remix, otherwiseV9.5. -
asyncis optional, enables fire-and-forget mode (default:false). Whentrue, returns immediately with201 Createdand job metadata. Poll GET /jobs/jobidfor completion status. -
replyUrlis optional, webhook URL for job status callbacks. Receives a POST request when the job ends ascompletedorfailed. The JSON payload shape matches GET /jobs/jobidresponse. replyRefis optional, custom reference string passed back in webhook callbacks. Useful for tracking jobs on your end.
Responses
-
Real response, one of the two songs shown, ids shortened.
{ "jobid": "j1016230256133236021m-u777-a12345678901234-bot:mureka", "feed_id": 166751633473537, "state": 3, "songs": [ { "song_id": "user:777-mureka:12345678901234-song:166751644024833", "title": "Scarlett character song(Remix)", "duration_milliseconds": 87230, "generate_at": 1792191775, "genres": [ "electronic" ], "moods": [ "energetic" ], "description": "D&B, hip-hop", "mp3_url": "https://static-cos.mureka.ai/cos-prod/song/audio/20261016/<id>.mp3", "share_key": "<share key>", "machine_audit_state": 1, "credit_type": 1, "cover": "https://static-cos.mureka.ai/cos-prod/skm/image/20261016/<id>.jpeg", "control_types": [ 1, 3, 5, 11 ], "generate_state": 3, "generation_method": 1, "allow_remix": true, "share_link": "https://www.mureka.ai/song-detail?share_key=<share key>&is_from_share=1" } ] } -
Job created in async mode (
async: true). The remix is processing in the background.Use GET /jobs/
jobidto poll for completion status.{ "jobid": "j1016230256133236021m-u777-a12345678901234-bot:mureka", "verb": "music/remix", "jobType": "music", "status": "created", "created": "2026-10-16T23:02:56.133Z", "request": { "song_id": 166751520227330, "desc": "D&B, hip-hop", "async": true, "account": "12345678901234" } } -
{ "error": "Song 33445566 is instrumental, remix supports songs with vocals", "code": 400 } -
{ "error": "Wrong username/password combination.", "code": 401 } -
The account does not have enough Mureka Gold (a remix costs the same as a song).
{ "error": "User balance is not enough to operate (6310)", "code": 412 } -
596 Account Error
Returned when the account has an error state preventing API calls.
{ "error": "Session refresh failed 2026-01-19T14:31:15.000Z, manual update required", "code": "REFRESH_FAILED" }Possible error codes:
ACCOUNT_ERROR- Account has a blocking errorREFRESH_FAILED- Automatic token refresh failedREFRESH_IN_PROGRESS- Token refresh already in progress, retry shortlySESSION_EXPIRED- Session expired and no auto-refresh availableCOOKIE_EXPIRED- Google cookie has expired
To resolve, update your account configuration via POST /accounts.
Model
-
Same structure as POST /music/create-advanced.
{ jobid: string feed_id: number state: number songs: { song_id: string title: string duration_milliseconds: number generate_at: number genres: string[] moods: string[] description?: string // the style used mp3_url: string share_key: string share_link: string cover: string control_types?: number[] machine_audit_state: number credit_type: number }[] } -
{ jobid: string verb: 'music/remix' jobType: 'music' status: 'created' created: string // ISO 8601 timestamp request: { song_id: number // Decoded Mureka id, not the user:…-song:… form desc?: string lyrics?: string title?: string vocal_gender?: string model?: string account: string async?: boolean replyUrl?: string replyRef?: string } }
Examples
-
curl -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer …" \ -X POST https://api.useapi.net/v1/mureka/music/remix \ -d '{"song_id": "…", "desc": "D&B, hip-hop"}' -
const song_id = "user:777-mureka:12345678901234-song:33445566"; const desc = "D&B, hip-hop"; const apiUrl = `https://api.useapi.net/v1/mureka/music/remix`; const api_token = "API token"; const data = { method: 'POST', headers: { 'Authorization': `Bearer ${api_token}`, 'Content-Type': 'application/json' } }; data.body = JSON.stringify({ song_id, desc }); const response = await fetch(apiUrl, data); const result = await response.json(); console.log("response", {response, result}); -
import requests apiUrl = f"https://api.useapi.net/v1/mureka/music/remix" api_token = "API token" headers = { "Content-Type": "application/json", "Authorization" : f"Bearer {api_token}" } body = { "song_id": "user:777-mureka:12345678901234-song:33445566", "desc": "D&B, hip-hop" } response = requests.post(apiUrl, headers=headers, json=body) print(response, response.json())
Try It
A remix takes 30 to 60 seconds.