Suno
Suno Lyrics Mashup
Use DeerAPI to call the Suno Lyrics Mashup endpoint with request details, response details, examples, and an OpenAPI playground.
POST
/
suno
/
act
/
lyrics-mashup
cURL
curl https://api.deerapi.com/suno/act/lyrics-mashup \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEERAPI_KEY" \
-d '{
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}'import os
import requests
url = "https://api.deerapi.com/suno/act/lyrics-mashup"
headers = {
"Authorization": "Bearer " + os.environ["DEERAPI_KEY"],
"Content-Type": "application/json",
}
payload = {
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const response = await fetch("https://api.deerapi.com/suno/act/lyrics-mashup", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DEERAPI_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}),
});
console.log(await response.json());<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deerapi.com/suno/act/lyrics-mashup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'lyrics_a' => 'Sambuy come back bluespawn greenspawn are making you a spawn',
'lyrics_b' => 'You kept looking back inside the station
I couldn\'t leave from where I stood
A sinking feeling in my chest
Today\'s goodbye felt like the end'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deerapi.com/suno/act/lyrics-mashup"
payload := strings.NewReader("{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deerapi.com/suno/act/lyrics-mashup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deerapi.com/suno/act/lyrics-mashup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}"
response = http.request(request)
puts response.read_body{
"lyrics_request_id": "<string>",
"mashup_id": "<string>",
"response": {
"error_message": "<string>",
"status": "<string>",
"tags": [
"<string>"
],
"text": "<string>",
"title": "<string>"
}
}Overview
Use this endpoint to call the Suno Lyrics Mashup workflow through DeerAPI. The API reference on this page shows the request schema, response schema, authentication requirements, and runnable examples for the configured endpoint.Before you start
Use the DeerAPI base URL and pass your API Key in theAuthorization header:
https://api.deerapi.com
Authorization: Bearer $DEERAPI_KEY
Model selection
Choose a current model ID from the live pricing page. Model availability changes over time, so avoid copying a model ID from an old project without checking the live list first.Implementation notes
- Use the OpenAPI playground for the exact request fields accepted by this endpoint.
- Keep API Keys on the server side when you build production applications.
- Log the request ID from failed calls so support can investigate the request.
- Retry
429,500, and503responses with exponential backoff.
Authorizations
Use a DeerAPI API Key as a Bearer token.
Body
application/json
⌘I
cURL
curl https://api.deerapi.com/suno/act/lyrics-mashup \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $DEERAPI_KEY" \
-d '{
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}'import os
import requests
url = "https://api.deerapi.com/suno/act/lyrics-mashup"
headers = {
"Authorization": "Bearer " + os.environ["DEERAPI_KEY"],
"Content-Type": "application/json",
}
payload = {
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())const response = await fetch("https://api.deerapi.com/suno/act/lyrics-mashup", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.DEERAPI_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
"lyrics_b": "You kept looking back inside the station\nI couldn't leave from where I stood\nA sinking feeling in my chest\nToday's goodbye felt like the end"
}),
});
console.log(await response.json());<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deerapi.com/suno/act/lyrics-mashup",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'lyrics_a' => 'Sambuy come back bluespawn greenspawn are making you a spawn',
'lyrics_b' => 'You kept looking back inside the station
I couldn\'t leave from where I stood
A sinking feeling in my chest
Today\'s goodbye felt like the end'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deerapi.com/suno/act/lyrics-mashup"
payload := strings.NewReader("{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deerapi.com/suno/act/lyrics-mashup")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deerapi.com/suno/act/lyrics-mashup")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"lyrics_a\": \"Sambuy come back bluespawn greenspawn are making you a spawn\",\n \"lyrics_b\": \"You kept looking back inside the station\\nI couldn't leave from where I stood\\nA sinking feeling in my chest\\nToday's goodbye felt like the end\"\n}"
response = http.request(request)
puts response.read_body{
"lyrics_request_id": "<string>",
"mashup_id": "<string>",
"response": {
"error_message": "<string>",
"status": "<string>",
"tags": [
"<string>"
],
"text": "<string>",
"title": "<string>"
}
}