API de Extend (extensión)
Descripción del endpoint
Extend continúa una canción existente desde un punto temporal elegido y genera el pasaje siguiente.
Endpoint: POST /api/music/extend
Facturación: De pago, actualmente 0,6 ¥ por llamada por defecto. El importe realmente cobrado sigue la configuración de precios actual del back-office.
Max Mode / Variety: este endpoint admite los parámetros opcionales max_mode y variety (0-4). Con
max_mode activado, esta llamada se factura al doble (0,6 → 1,2 ¥ por llamada); variety no cuesta nada
extra. Qué significan y cómo enviarlos está en la sección «Parámetros avanzados» del
Resumen de la nueva API.
Tiempos de espera y timeouts (importante): es un endpoint síncrono — el pedido solo se acepta y se entrega a generación cuando llega la respuesta. Según lo medido, la mayoría de las peticiones responden en 1-3 segundos, alrededor del 10% tardan más de 30 segundos y la más lenta ronda los 230 segundos. Configura el timeout del cliente en 300 segundos o más; no recibir respuesta no significa que no se haya generado nada, y no reintentes justo después de un timeout (eso duplica el pedido y vuelve a cobrar). Si la conexión se cayó, confírmalo más tarde con
GET /api/music/songs. Consulta «Tiempos de espera y configuración de timeout» en el Resumen de la nueva API.
Parámetros de la petición
Headers
| Parámetro | Tipo | Obligatorio | Notas |
|---|---|---|---|
| Authorization | string | sí | Bearer YOUR_API_KEY |
| Content-Type | string | sí | application/json |
Parámetros del body
| Parámetro | Tipo | Obligatorio | Por defecto | Notas |
|---|---|---|---|---|
| model | string | no | suno-v6 | Nombre de modelo para el cliente: suno-v6, suno-v6-wild o suno-v6-mini |
| audioId | string | sí | - | ID de la canción que se va a extender |
| prompt | string | sí | - | Descripción de la extensión |
| continueAt | number | sí | - | Punto de inicio de la extensión, en segundos. Debe ser mayor que 0 y menor que la duración de la canción de origen; deja al menos 10 segundos después del punto de inicio, o el resultado será solo esos segundos |
| style | string | no | - | Etiquetas de estilo |
| negativeTags | string | no | - | Estilos excluidos |
| title | string | no | - | Título |
| sourceAudioUrl | string | no | - | URL del audio de origen |
| sourceFileName | string | no | - | Nombre del archivo de origen |
| waitAudio | boolean | no | false | Si esperar a que el audio termine |
Ejemplo de petición
curl -X POST https://www.suno-api.io/api/music/extend \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"audioId": "clip_id",
"prompt": "continúa el estribillo con más intensidad",
"continueAt": 60,
"style": "Mandopop, rock",
"negativeTags": "noise",
"title": "Versión extendida",
"waitAudio": false
}'
Respuesta
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "extended_clip_id",
"song_title": "Versión extendida",
"status": "pending"
}
]
}
}
Campos compatibles
Los nombres antiguos siguen aceptándose:
| Campo nuevo | Campo antiguo compatible |
|---|---|
| audioId | song_id, audio_id |
| prompt | description |
| continueAt | start_time, continue_at |
| style | style_tags, tags |
| negativeTags | negative_tags |
| waitAudio | wait_audio |
Notas
- No empieces pegado al final: la duración de la extensión es básicamente «lo que queda después del punto de inicio». Si el punto de inicio está demasiado cerca del final, el resultado son solo unos segundos — medido, una canción de 242 segundos extendida desde el segundo 240 produjo apenas 2,7 segundos (y aun así se cobra por llamada). Deja al menos 10 segundos después del punto de inicio.
- Extend no tiene umbral de «fuente demasiado corta»: medido, un clip de 9,6 segundos extendido desde el segundo 5 produjo una canción con normalidad, así que una fuente corta o un resto corto no son motivo de rechazo.
- El punto de inicio debe ser mayor que 0:
continueAt=0es aceptado por la plataforma y luego anulado, sin devolver motivo de fallo, así que empieza justo después del primer segundo. - Una llamada devuelve 2 resultados (se factura como 2 canciones); guíate por la longitud del array
clips. - El resultado es una obra nueva; la canción original no se ve afectada.
Obtener una clave de API
Crea una clave de API en la consola después de registrarte. Cada generación cuesta 0,6 ¥ y devuelve 2 pistas, las descargas son ilimitadas y no hace falta número de teléfono.
Obtener clave de API Volver al resumen