IMAGINE

Generate a song with a lyrics video clip. You have access to the chirp-v3-0 and chirp-v3-5 models. This endpoint actually generates two songs with the same lyrics.

POST https://api.apiframe.pro/suno-imagine

Headers

Name
Value

Content-Type

application/json

Authorization*

Your APIFRAME API Key

Body

Name
Type
Description

prompt

string

the text prompt for Suno AI, just describe the song. Only needed if the lyrics field is not submitted

lyrics

string

lyrics for the song to generate, only needed if the prompt is not submitted

model

string

The music generation model to use. Can be 'chirp-v3-0' or 'chirp-v3-5'

make_instrumental

boolean

Use true to Generate instrumental without lyrics

title

string

a title for the song

tags

string

style tags for the song, ex: 'rap pop'

webhook_url

string

The final result and updates of this task will be posted at this URL.

webhook_secret

string

Will be passed as x-webhook-secret in the webhook call headers for authentication.

Response

// Success, the task has been submitted
{
  "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}

This endpoint doesn't generate the songs instantly, you can use the Fetch endpoint to fetch the result or use webhooks.

The result (posted to the webhook_url or retrieved with the Fetch endpoint) looks like this:

{
    "task_id": "29e983ca-7e86-4017-a9e3-xxxxxxxxx",
    "task_type": "suno",
    "status": "finished",
    "video_url": "https://...........xxxx.mp4",
    "songs": [
      {
        "lyrics": "....",
        "song_id": "ea6813ad-03ce-4a0b-a616-xxxxxxxxx",
        "audio_url": "https://....xxxxxxxxx.mp3",
        "image_url": "https://....xxxxxxxxx.jpeg",
        "video_url": "https://....xxxxxxxxx.mp4"
      },
      {
        "lyrics": "...",
        "song_id": "21ad7efc-4954-4ae4-ae2a-xxxxxxxx",
        "audio_url": "https://....xxxxxxxxx.mp3",
        "image_url": "https://....xxxxxxxxx.jpeg",
        "video_url": "https://....xxxxxxxxx.mp4"
      }
  ]
}

If the job is not completed, you will get a result like this:

{
    "task_id": "29e983ca-7e86-4017-a9e3-xxxxxxxxx",
    "task_type": "suno",
    "status": "processing",
    "percentage": 56,
    "video_url": "https://...........xxxx.mp4",
    "songs": [
      {
        "lyrics": "....",
        "song_id": "ea6813ad-03ce-4a0b-a616-xxxxxxxxx",
        "audio_url": "https://....xxxxxxxxx.mp3",
        "image_url": "https://....xxxxxxxxx.jpeg",
        "video_url": "https://....xxxxxxxxx.mp4"
      },
      {
        "lyrics": "...",
        "song_id": "21ad7efc-4954-4ae4-ae2a-xxxxxxxx",
        "audio_url": "https://....xxxxxxxxx.mp3",
        "image_url": "https://....xxxxxxxxx.jpeg",
        "video_url": "https://....xxxxxxxxx.mp4"
      }
  ]
}

Code samples

const axios = require('axios');
const data = JSON.stringify({
  "prompt": "a true friend",
  "webhook_url": "https://........",
  "webhook_secret": "abc123"
});

const config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.apiframe.pro/suno-imagine',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'YOUR_API_KEY'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

Last updated