Suno Estendi musica
Usa l'endpoint extend music per creare un Task asincrono.
Panoramica
Usa l'endpoint extend music con un modello supportato. Usa il Task ID restituito per recuperarne lo stato, oppure fornisci callback_url per le consegne documentate di seguito.
Avvio rapido
- Crea una Chiave API e impostala come RUNAPI_API_KEY.
- Scegli un modello supportato e invia una richiesta POST il cui corpo corrisponda allo schema di quel modello.
- Conserva l'ID attività restituito, quindi esegui il polling fino a uno stato terminale o gestisci i callback documentati di seguito.
Endpoint
- URL di base
https://runapi.ai- Versione API
v1- Autenticazione
Authorization: Bearer YOUR_API_TOKEN
Modelli supportati
Apri la pagina di un modello per i prezzi correnti, i limiti di frequenza e i dettagli sull'uso commerciale.
Schema della richiesta
I campi e i valori consentiti dipendono dal modello selezionato. Se fornito, callback_url riceve le notifiche Task documentate di seguito.
suno-v420 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
suno-v4.520 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
suno-v4.5-all20 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
suno-v4.5-plus20 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
suno-v520 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
suno-v5.520 campi
audio_idstringID audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_urlstringURL audio sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
audio_weightnumberPeso audio (0-1).
Intervallo:0 - 1
callback_urlstringURL webhook per notifiche asincrone.
continue_atnumberSecondi nella sorgente da cui continuare. Obbligatorio in modalità parametro personalizzato.
instrumentalbooleanSe true, genera senza parti vocali.
lyricsstringTesto esatto dei testi. Consentito solo quando si estende audio caricato in modalità parametro personalizzato.
Vincolo:5000
modelstringSlug del modello.
negative_tagsstringStili da evitare.
parameter_modestringEredita i parametri della traccia sorgente (source) o fornisci parametri personalizzati (custom).
Valori consentiti:source, custom
persona_idstringID persona.
persona_typestringTipo di persona.
Valori consentiti:style, voice
promptstringBreve di estensione. Non può essere combinato con i testi.
Vincolo:5000
stylestringPreset di stile. Obbligatorio nella modalità parametri personalizzati.
Vincolo:1000
style_weightnumberPeso di aderenza allo stile (0-1).
Intervallo:0 - 1
task_idstringID task sorgente da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
titlestringTitolo del brano. Obbligatorio in modalità parametro personalizzato.
Vincolo:80
upload_urlstringURL dell'audio sorgente caricato da estendere. Fornisci uno tra task_id, audio_id, audio_url o upload_url.
vocal_genderstringGenere vocale.
Valori consentiti:male, female
weirdness_constraintnumberVincolo di stranezza (0-1).
Intervallo:0 - 1
Crea accettazione
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Polling in elaborazione
GET /api/v1/suno/extend_music/:id
Schema della risposta
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
Polling completato
GET /api/v1/suno/extend_music/:id
Schema della risposta
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed"
}
Polling non riuscito
GET /api/v1/suno/extend_music/:id
Schema della risposta
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Callback cliente: in elaborazione
POST callback_url
Schema della risposta
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
Callback cliente: completato
POST callback_url
Schema della risposta
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"id": "tsk_reference_demo",
"status": "completed"
}
Callback cliente: fallito
POST callback_url
Schema della risposta
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Authentication required"
}
Errori
GET /api/v1/suno/extend_music/:id
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Authentication required"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"oneOf": [
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Riepilogo di convalida leggibile dall'utente.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Messaggi di convalida con chiave per campo della richiesta pubblica, con un array di stringhe leggibili dall'utente per ogni campo.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Esempio di risposta
{
"error": "model must be one of: suno-v4, suno-v4.5, suno-v4.5-all, suno-v4.5-plus, suno-v5, suno-v5.5"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Insufficient balance"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "API key credit limit exceeded"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "The request uses features that are not supported for the selected model"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Rate limit reached. Please retry later."
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Service under maintenance, please try again later"
}
Errori
POST /api/v1/suno/extend_music
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "The request timed out"
}
Errori
GET /api/v1/suno/extend_music/:id
Schema della risposta
{
"properties": {
"error": {
"description": "Messaggio di errore leggibile.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Esempio di risposta
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Esempi di Codice Generati
Usa cURL direttamente, oppure installa un SDK per il tuo linguaggio. Ogni esempio invia la richiesta validata mostrata in questo riferimento.
Installa
pip install runapi-suno
import os
from runapi.suno import SunoClient
client = SunoClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.extend_music.create(
model="suno-v5",
upload_url="https://cdn.runapi.ai/public/samples/music.mp3",
parameter_mode="custom",
instrumental=False,
prompt="Continue the arrangement with a brighter chorus.",
style="Acoustic pop with warm piano.",
title="Brighter Chorus",
continue_at=60,
persona_id="persona_reference",
persona_type="style"
)