Flexible parameters
Configure 21 documented parameters, including audio_id, audio_url, audio_weight, continue_at, duration_seconds.
curl -X POST https://runapi.ai/api/v1/suno/cover_audio \
-H "Authorization: Bearer $RUNAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6-mini",
"prompt": "Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long."
}'
import { SunoClient } from "@runapi.ai/suno";
const client = new SunoClient();
const result = await client.coverAudio.run({
model: "suno-v6-mini",
prompt: "Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long.",
});
import os
import requests
response = requests.post(
"https://runapi.ai/api/v1/suno/cover_audio",
headers={"Authorization": f"Bearer {os.environ['RUNAPI_API_KEY']}"},
json={"model":"suno-v6-mini","prompt":"Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long."}
)
response.raise_for_status()
<?php
$client = curl_init("https://runapi.ai/api/v1/suno/cover_audio");
curl_setopt_array($client, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("RUNAPI_API_KEY"), "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode([
'model' => 'suno-v6-mini',
'prompt' => 'Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long.',
])
]);
$response = curl_exec($client);
RunApi client = new RunApi(System.getenv("RUNAPI_API_KEY"));
Task task = client.coverAudio().run({"model":"suno-v6-mini","prompt":"Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long."});
task.waitForResult();
require "runapi/suno"
client = RunApi::Suno::Client.new
result = client.cover_audio.run(
model: "suno-v6-mini",
prompt: "Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long."
)
client := runapi.NewClient(os.Getenv("RUNAPI_API_KEY"))
task, err := client.coverAudio.Run({"model":"suno-v6-mini","prompt":"Write a lo-fi chill beat with soft piano, vinyl crackle, and a gentle bass line, 2 minutes long."})
if err != nil { log.Fatal(err) }
task.Wait()
$ runapi generate \
--model suno-v6-mini \
--endpoint cover_audio \
--wait
9 versions available
Pick any model and generate in seconds.
Pick any model and generate in seconds.
| Provider | Suno |
| Model ID | suno-v6-mini |
| Modality | Audio & Music |
| Task types | Asynchronous |
| API endpoint | /api/v1/suno/text_to_music, /api/v1/suno/extend_music, /api/v1/suno/cover_audio, /api/v1/suno/create_mashup |
| Billing unit | call |
| Input parameters | audio_id, audio_url, audio_weight, callback_url, continue_at, duration_seconds, instrumental, lyrics, model, negative_tags, parameter_mode, persona_id, persona_type, prompt, style, style_weight, task_id, title, upload_url, upload_url_list, vocal_gender, vocal_mode, weirdness_constraint |
| Catalog status | Operational |
Sign up for free and create an API key for suno-v6-mini from the dashboard.
POST to /api/v1/suno/cover_audio with the suno-v6-mini model slug and your parameters.
Poll the task or follow the callback to retrieve the completed suno-v6-mini result.
Configure 21 documented parameters, including audio_id, audio_url, audio_weight, continue_at, duration_seconds.
Exposes 4 public endpoint(s): text_to_music, extend_music, cover_audio, create_mashup.
Asynchronous tasks accept a callback URL for completion notifications.
Metered by call with no subscription requirement.
styleMusic style.
titleMusic title.
lyricsExact cover lyrics to sing.
promptCover brief for automatic lyrics.
persona_idPersona ID.
upload_urlURL of the audio file to cover.
vocal_modeVocal generation mode. (auto_lyrics, exact_lyrics, instrumental)
audio_weightAudio weight (0-1).
callback_urlWebhook URL for async notifications.
persona_typePersona type. (style, voice)
style_weightStyle adherence weight (0-1).
vocal_genderVocal gender. (male, female)
negative_tagsStyles to avoid.
weirdness_constraintWeirdness constraint (0-1).
Generate royalty-free background music matched to episode mood without licensing fees.
Generate adaptive ambient soundscapes and effects for procedurally generated levels.
Generate custom voiceovers and sound effects for client spots without a recording studio.
Pass the model ID shown in the quickstart.
Per-key rate limits scale with your usage tier. The pricing page shows current limits. If you need higher throughput, contact support to discuss tier upgrades.
Yes. Variant is a parameter in the request. Switch by changing the model ID — no code changes, no re-authentication, no separate billing setup. All variants share the same API key and request shape.
Where streaming is available, RunAPI streams end-to-end. LLM models support token-level streaming. Media models use async task polling or webhook callbacks for result delivery.
Open an issue on the public GitHub repo or email support at [email protected]. Include the task ID and model ID so the team can investigate the specific generation.
No. Your RunAPI API key is enough to access this variant and every other model in the catalog. You do not need accounts with the underlying provider.
We're here to help with enterprise setup, integrations, and technical questions.
Contact Us