Suno v5.5 — room for an idea
Audio
Suno v5.5
8 credits
by Henri Huotari · Oct 28, 2026
An original instrumental Immersive Studio theme, generated with custom title, style and instrumental controls. The returned track is approximately 57 seconds, with the complete request and playable MP3 included.
This file couldn't be loaded. The link may have expired.
Run it yourself
Set IMMERSIVE_API_KEY to an API key from your account. Create a free account to get one.
curl -X POST 'https://ai.im.inc/api/v1/audio/music' \
-H "Authorization: Bearer $IMMERSIVE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v5-5",
"style": "Minimal contemporary electronic, warm analogue bass, bright rounded synth motif, subtle garage percussion, 112 BPM, design studio, confident, playful, clean mix, original instrumental brand theme",
"title": "Room for an idea",
"prompt": "An original instrumental theme for a creative technology brand. Start immediately with a memorable short glassy synth motif, establish warm bass and crisp lightly swung drums, build gently, give the melody space, finish with a clean resolved outro. Optimistic and understated. No vocals or speech.",
"customMode": true,
"styleWeight": 0.7,
"instrumental": true,
"negativeTags": "vocals, spoken words, chanting, trailer booms, harsh EDM drops, corporate ukulele",
"weirdnessConstraint": 0.25
}'
# Set JOB_ID to the response's "id", then poll every few seconds until the job has finished:
curl "https://ai.im.inc/api/v1/audio/suno/$JOB_ID" \
-H "Authorization: Bearer $IMMERSIVE_API_KEY"
# The finished response has the result at url.
const headers = { Authorization: `Bearer ${process.env.IMMERSIVE_API_KEY}` };
const response = await fetch("https://ai.im.inc/api/v1/audio/music", {
method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({
"model": "suno-v5-5",
"style": "Minimal contemporary electronic, warm analogue bass, bright rounded synth motif, subtle garage percussion, 112 BPM, design studio, confident, playful, clean mix, original instrumental brand theme",
"title": "Room for an idea",
"prompt": "An original instrumental theme for a creative technology brand. Start immediately with a memorable short glassy synth motif, establish warm bass and crisp lightly swung drums, build gently, give the melody space, finish with a clean resolved outro. Optimistic and understated. No vocals or speech.",
"customMode": true,
"styleWeight": 0.7,
"instrumental": true,
"negativeTags": "vocals, spoken words, chanting, trailer booms, harsh EDM drops, corporate ukulele",
"weirdnessConstraint": 0.25
}),
});
const job = await response.json();
// Poll every few seconds while the job is still running.
const running = ["pending", "queued", "submitted", "starting", "processing", "running", "streaming", "in_queue", "in_progress"];
let result;
do {
await new Promise((resolve) => setTimeout(resolve, 5000));
result = await (await fetch(`https://ai.im.inc/api/v1/audio/suno/${job.id}`, { headers })).json();
} while (running.includes(String(result.status).toLowerCase()));
console.log(result.url);
import os
import time
import requests
headers = {"Authorization": f"Bearer {os.environ['IMMERSIVE_API_KEY']}"}
job = requests.post(
"https://ai.im.inc/api/v1/audio/music",
headers=headers,
json={
"model": "suno-v5-5",
"style": "Minimal contemporary electronic, warm analogue bass, bright rounded synth motif, subtle garage percussion, 112 BPM, design studio, confident, playful, clean mix, original instrumental brand theme",
"title": "Room for an idea",
"prompt": "An original instrumental theme for a creative technology brand. Start immediately with a memorable short glassy synth motif, establish warm bass and crisp lightly swung drums, build gently, give the melody space, finish with a clean resolved outro. Optimistic and understated. No vocals or speech.",
"customMode": True,
"styleWeight": 0.7,
"instrumental": True,
"negativeTags": "vocals, spoken words, chanting, trailer booms, harsh EDM drops, corporate ukulele",
"weirdnessConstraint": 0.25,
},
timeout=300,
).json()
# Poll every few seconds while the job is still running.
running = {"pending", "queued", "submitted", "starting", "processing", "running", "streaming", "in_queue", "in_progress"}
while True:
time.sleep(5)
result = requests.get(f"https://ai.im.inc/api/v1/audio/suno/{job['id']}", headers=headers, timeout=60).json()
if str(result.get("status", "")).lower() not in running:
break
print(result["url"])
{
"id": "986c3b4a581f36175e005e2c23b75c03",
"url": "https://s3.eu-central-1.amazonaws.com/ai.im.inc/examples/outputs/85afe724-b8f8-4e98-b1a5-949d58cf16c5/result.mp3",
"status": "succeeded",
"model_name": "suno-v5-5",
"cost_credits": 8
}
Your browser blocked the clipboard. Select the text and copy it by hand.
How the job runs
- POST returns the job's id and status right away.
- Poll GET /api/v1/audio/suno/{id} every few seconds while the job is running.
- When status is succeeded, download url. Failed jobs are refunded automatically.
- Endpoint
- POST /api/v1/audio/music
- Model
- suno-v5-5
- Cost
- 8 credits · $0.08
- Output
- Audio · MP3