Create an AI-generated video for your song

December 2, 2024 (October 3, 2025)

Table of contents

  1. Request Headers
  2. Request Body
  3. Responses
  4. Model
  5. Examples
  6. Try It

https://api.useapi.net/v1/mureka/music/video-generate

Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
Request Body
{
    "song_id": 123456789
}
Responses
  • 200 OK

    {
        "video_url": "https://<download link>.mp4",
        "video_cover_url": "https://<cover image>.png",
        "video_id": 112233445566
    }
    
  • 400 Bad Request

    {
      "error": "<Error message>",
      "code": 400
    }
    
  • 401 Unauthorized

    {
      "error": "Wrong username/password combination.",
      "code": 401
    }
    
  • 429 Too Many Requests

    • Rate limit exceeded.
      Endpoint called too frequently. Wait at least 3 seconds before making another call.
      {
      "code": 9008,
      "msg": "Too frequently, please try again later."
      }
      
    • Concurrent job limit exceeded.
      All job slots are taken (typically 10 concurrent generations per account). Wait at least 5 seconds before retrying.
      {
      "error": "Generate multiple task exceed limit. (6323)"
      }
      
Model
{ // TypeScript, all fields are optional
    video_url: string
    video_cover_url: string
    video_id: number
    error?: string
    code?: number
    msg?: string
}
Examples
  • curl -H "Accept: application/json" \
         -H "Content-Type: application/json" \
         -H "Authorization: Bearer …" \
         -X POST https://api.useapi.net/v1/mureka/music/video-generate \
         -d '{"song_id": …}'
    
  • const song_id = 123456789;      
    const apiUrl = `https://api.useapi.net/v1/mureka/music/video-generate`; 
    const api_token = "API token";
    const data = { 
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${api_token}`,
        'Content-Type': 'application/json' }
    };
    data.body = JSON.stringify({ 
      song_id
    });
    const response = await fetch(apiUrl, data);
    const result = await response.json();
    console.log("response", {response, result});
    
  • import requests
    song_id = 123456789
    apiUrl = f"https://api.useapi.net/v1/mureka/music/video-generate" 
    api_token = "API token"
    headers = {
        "Content-Type": "application/json", 
        "Authorization" : f"Bearer {api_token}"
    }
    body = {
        "song_id": song_id
    }
    response = requests.post(apiUrl, headers=headers, json=body)
    print(response, response.json())
    
Try It