Skip to main content
GET
Reglas generales de Suno V6 y consulta de tareas
Todas las API de generación, edición y herramientas de Suno usan tareas asíncronas: envía la operación, obtén task_id y consulta el resultado con la API de esta página.

Autenticación

string
requerido
Autenticación con Bearer Token: Authorization: Bearer <YOUR_API_KEY>.
Visita la página de gestión de API Key para obtener tu API Key.

Versión V6 y selección del modelo

Los modelos públicos admiten estas versiones:
  • v6
  • v6-wild
  • v6-mini
El endpoint principal requiere version o el custom_model_id devuelto por una tarea de creación. Las operaciones de edición compatibles usan v6 si se omite version. No se pueden enviar juntos version público y custom_model_id.
custom: true selecciona el modo de letra personalizada; custom_model_id, un modelo personalizado entrenado. Son conceptos distintos y el modo de letra no cambia automáticamente a la tarifa del modelo.

Opciones generales de generación V6

Envía los siguientes campos solo si aparecen en el endpoint correspondiente: Omite los campos no admitidos y no envíes max_mode: false a todas las operaciones. variety y Max son independientes; variety: "max" no activa la tarifa Max.

Límites de texto y pesos

Las nuevas solicitudes de operaciones usan weirdness; weirdness_constraint es un alias de compatibilidad. La generación principal sigue usando weirdness_constraint. La longitud se cuenta en caracteres Unicode.

Pista de origen de referencia

Basado en obras existentes:
  • task_id: ID de tarea de API Mart para la pista de audio resultante.
  • audio_index: posición original en data.result.music[] de la tarea de origen, desde 1; valor predeterminado 1.
Muestra el número real de elementos de la matriz sin fijarlo en 2. Aunque cambie el orden visual, las operaciones posteriores deben usar el índice del resultado original.
Las solicitudes nuevas referencian la pista de origen con task_id + audio_index; no pueden sustituirse por audio_id, music_id o audio_url. Si no se encuentra el origen o el índice está fuera de rango se devuelve 400.

Respuesta del envío

Lee el ID de tarea de data[0].task_id. submitted solo indica que la tarea se aceptó, no que el audio final u otros resultados ya existan.

Consultar tarea

GET /v1/music/tasks/{task_id} Añade ?language=zh para recibir las traducciones disponibles de los errores. Este parámetro no cambia el idioma de la canción ni de la letra.
string
requerido
ID de tarea devuelto por la API de envío.
Espera unos 3 segundos y consulta cada 5–10 segundos hasta que data.status sea completed o failed. Puedes seguir usando el mismo ID tras recargar la página. No reenvíes automáticamente solicitudes POST de pago por un timeout de red.

Respuesta de consulta

integer
Código de estado de la respuesta.
object
Información de la tarea.

Procesamiento del resultado

  • Los resultados musicales suelen estar en data.result.music[], pero descargas, letras, MIDI, Persona y modelos personalizados tienen estructuras propias.
  • duration es la duración real y puede incluir decimales; la duración objetivo no tiene por qué coincidir exactamente con el resultado final.
  • El valor de peso 0 es válido y no debe ocultarse por una comprobación falsy de JavaScript.
  • audio_url no termina necesariamente en .mp3. Reproduce o descarga usando la URL realmente devuelta.
  • Con status="unknown", conserva el ID de tarea y permite actualizar manualmente sin crear nuevas tareas de forma automática.
AbortController puede detener solicitudes del navegador y el polling, pero no cancela la tarea del servidor. Actualmente no existe un endpoint para cancelar una tarea Suno enviada.