Saltar al contenido principal
A medida que la aplicación de la IA se ha vuelto más amplia, diversos programas de IA se han popularizado gradualmente. La IA ha ido penetrando poco a poco en todos los aspectos del trabajo y la vida de las personas. Y las industrias que involucra la IA también son cada vez más numerosas, desde la escritura inicial, hasta la educación médica, y ahora la música. Suno es una plataforma profesional y de alta calidad de creación de canciones y música con IA; los usuarios solo necesitan introducir simples palabras de indicación de texto para poder generar canciones con voces según el estilo de género y las letras. Este generador de música con IA fue desarrollado por miembros de equipos provenientes de conocidas empresas tecnológicas como Meta, TikTok, Kensho, etc., con el objetivo de no necesitar ninguna herramienta instrumental, para que todos puedan crear música maravillosa. A continuación se muestra el progreso de las actualizaciones del modelo:
Los límites de lyric y style de la tabla anterior son los límites máximos en el modo personalizado (custom es true). El modo de inspiración no personalizado (custom es false) solo completa prompt, y su límite de longitud es de 500 caracteres (igual para todos los modelos).
Suno ahora admite chirp-v6, chirp-v6-wild y chirp-v6-mini. Se recomienda utilizar chirp-v6; los nombres de modelos antiguos siguen siendo compatibles. Sin embargo, Suno oficialmente no proporciona una API; AceDataCloud proporciona un conjunto de API de Suno, simulando la integración oficial de Suno, que permite generar de forma cómoda y rápida la música deseada.

Solicitud y uso

Para utilizar Suno Audios Generation API, primero obtenga su API Token en la consola de Ace Data Cloud, para tenerlo de respaldo. Si aún no ha iniciado sesión o no se ha registrado, será redirigido automáticamente a la página de inicio de sesión para invitarle a registrarse e iniciar sesión; al finalizar, volverá automáticamente a la página actual. Un API Token puede invocar todos los servicios de la plataforma, no es necesario solicitarlo por separado para cada servicio. La primera solicitud otorgará cuota gratuita, que puede usarse para una experiencia gratuita; cuando la cuota sea insuficiente, puede recargar saldo general en la consola.
📘 Documentación completa: Suno Audios Generation API →

Uso básico

Qué canciones pensar, se puede introducir arbitrariamente un texto, por ejemplo, si quiero generar una canción sobre Navidad, puedo introducir a song for Christmas, como se muestra en la imagen:

Aquí podemos ver que configuramos los Request Headers, incluyendo:
  • accept: qué formato de resultado de respuesta se desea recibir; aquí se completa como application/json, es decir, formato JSON.
  • authorization: la clave para invocar la API; después de solicitarla, puede seleccionarse directamente desde la lista desplegable.
Además, se configuró el Request Body, incluyendo:
  • action: tipo de tarea de audio, el valor predeterminado es generate. Admite operaciones como generación, continuación, cover, concatenación, separación de pistas, adición de pistas de audio, extracción de pistas de audio especificadas, generación de efectos de sonido y ajuste de velocidad, todas invocadas de forma unificada mediante POST /suno/audios.
  • prompt: palabras clave del modo de inspiración oficial de Suno (surte efecto cuando custom es false), máximo 500 caracteres.
  • model: modelo para esta tarea de generación musical. La serie v6 incluye chirp-v6, chirp-v6-wild y chirp-v6-mini; los nombres de modelos antiguos siguen siendo compatibles.
  • max_mode: modo de generación mejorado. generate solo se habilita cuando tanto custom como max_mode son true, con un costo de 1.12 Credits; add_stem puede habilitarse directamente, con un costo de 1.344 Credits. Cuando se desactiva o se omite, los costos son 0.56 y 0.672 Credits respectivamente.
  • variety: intensidad de diversidad de los resultados generados, opcional entre off, normal, high, extra, max. Solo se utiliza para generate y add_stem; pasarla en otras action devolverá 400.
  • lyric: contenido de la letra en el modo personalizado oficial de Suno. chirp-v3-5 y chirp-v4 tienen un máximo de 3000 caracteres; chirp-v4-5 y superiores (incluidos chirp-v5, chirp-v5-5) tienen un máximo de 5000 caracteres.
  • custom: si se utiliza el modo personalizado, el valor predeterminado es: false.
  • instrumental: opción de música instrumental del modo de inspiración oficial de Suno.
  • title: título de la música en el modo personalizado oficial de Suno. chirp-v3-5, chirp-v4 tienen un máximo de 80 caracteres; chirp-v4-5 y superiores tienen un máximo de 100 caracteres.
  • style: estilo musical del modo personalizado oficial de Suno. chirp-v3-5 y chirp-v4 tienen un máximo de 200 caracteres; chirp-v4-5 y superiores (incluidos chirp-v5, chirp-v5-5) tienen un máximo de 1000 caracteres.
  • negative_tags: estilos musicales o géneros que se desea excluir de los resultados generados en el modo personalizado (custom es true).
  • audio_weight: peso de influencia de las características de audio o voz, rango 0-1, 0 también es un valor válido. Puede utilizarse para operaciones como generación, continuación, cover, adición de pistas de audio y consistencia de voz; cuando no hay audio de referencia o características de voz, el modelo puede atenuar o ignorar este valor.
  • audio_id: ID de la música de referencia.
  • overpainting_start/overpainting_end: tiempo de inicio y fin para añadir voces a música instrumental existente, en segundos.
  • underpainting_start/underpainting_end: tiempo de inicio y fin para añadir acompañamiento a canto a capela, en segundos.
  • persona_id: ID de la canción del artista.
  • continue_at: límite de continuación, en segundos. Por ejemplo, 213.5 indica que se comienza a generar el fragmento posterior desde los 3 minutos y 33.5 segundos. lyric y style solo guían el contenido nuevo después del límite, y no reemplazarán la letra ni el canto antes del límite en el audio de origen.
  • style_influence: influencia del estilo en el modo personalizado, rango 0-1; cuanto mayor sea, normalmente más se ajustará al estilo seleccionado; 0 se transmitirá como un valor válido.
  • replace_section_end: tiempo final del fragmento que se reemplazará.
  • replace_section_start: tiempo de inicio del fragmento que se reemplazará.
  • vocal_gender: controla la preferencia por voz femenina o masculina, voz femenina f, voz masculina m; válido para modelos 4.5 y superiores; es una opción de preferencia y no se garantiza un cumplimiento estricto.
  • weirdness: grado de rareza en el modo personalizado, rango 0-1; cuanto mayor sea, normalmente será más creativo y experimental; 0 se transmitirá como un valor válido.
  • duration: duración esperada de la canción, en segundos, debe ser un entero, con un rango de 10 a 360. Este parámetro se utiliza para la generación de canciones en modo personalizado (custom es true). Es una indicación de tendencia y no una restricción estricta: el modelo la tendrá en cuenta, pero no garantiza alcanzarla; la duración real del producto final se basará en el campo duration de la respuesta y normalmente será menor que el valor esperado.

Ámbito de aplicación de parámetros avanzados

La plataforma validará los tipos de parámetros y los rangos numéricos, pero no rechazará estos elementos de ajuste opcionales únicamente porque la action sea diferente; el efecto específico depende de la operación, el modo y el modelo.
  • lyric_prompt: prompt para generar letras, surte efecto si y solo si custom es true y no se proporciona lyric.
  • callback_url: URL que requiere recibir el resultado mediante callback.
  • async: opcional; cuando se establece en true, la interfaz devuelve inmediatamente task_id, no es necesario proporcionar callback_url, y posteriormente se obtiene el resultado mediante sondeo a través de la interfaz de consulta de tareas correspondiente.
El código generado es el siguiente:

Puede hacer clic en el botón «Try» para probar directamente la API, espere 1-2 minutos y el resultado es el siguiente:
Se puede ver que en este momento hemos obtenido el contenido de dos canciones, incluidos el título, la imagen de vista previa, la letra, el audio, el video y otros contenidos. La descripción de los campos es la siguiente:
  • success: si la generación se realizó correctamente; si tiene éxito, será true, de lo contrario será false
  • data: es una lista que contiene la información detallada de las canciones generadas.
    • state: estado de generación de la canción, incluye principalmente cuatro tipos, específicamente los siguientes:
      • succeeded: generación exitosa
      • pending: en cola
      • running: en ejecución
      • error: error
    • id: ID de la canción
    • title: el título de la canción
    • image_url: la imagen de portada de la canción
    • lyric: la letra de la canción
    • audio_url: la dirección de audio final de la canción. La plataforma devolverá prioritariamente la dirección de Ace Data Cloud CDN; si la persistencia falla, puede devolver la dirección de medios original, descárguela a tiempo.
    • video_url: el archivo de video de la canción; al abrirlo es un video mp4.
    • created_at: la hora de creación
    • model: el modelo utilizado, generalmente el modelo v3 más reciente
    • style: el estilo

Generación personalizada

Si desea generar letras de forma personalizada, puede ingresar la letra: En este momento, el campo lyric puede recibir contenido similar al siguiente:
Nota: en la letra aquí, \n es un salto de línea. Si no sabe cómo generar letras, puede utilizar la API de generación de letras proporcionada por AceDataCloud para generar letras mediante un prompt; la API es Suno Lyrics Generation API.
A continuación, para generar una canción personalizada según la letra, el título y el estilo, puede especificar el siguiente contenido:
  • lyric: texto de la letra
  • custom: complete con true, lo que representa la generación personalizada; este parámetro es false de forma predeterminada, lo que representa la generación mediante prompt.
  • title: el título de la canción.
  • style: el estilo de la canción, opcional.
El ejemplo de llenado es el siguiente:

Después de completar, el código se genera automáticamente de la siguiente manera:

El código correspondiente:
La prueba está permitida y el efecto generado es similar.

Función de generación personalizada de estilo de cantante

Si desea utilizar un estilo de cantante para generar canciones, primero genere una canción mediante el uso básico anterior,
finalmente se obtiene que es necesario configurar esta canción como estilo de cantante, luego debe ingresar a Suno Persona API para generar un parámetro de ID de estilo de cantante persona_id según el ID de música generado oficialmente audio_id; los parámetros específicos se muestran en la siguiente imagen:

Después de completar, se genera automáticamente el siguiente código:

El código Python correspondiente:
Haga clic en ejecutar y podrá ver que se obtiene un resultado, como se muestra a continuación:
Tomamos los audio_id y persona_id anteriores, 97efc9f4-0e8d-4b3e-88df-14568fa1b11f y e0d7319e-aa2a-44cb-b00a-916218d7cb0b respectivamente, como datos de ejemplo para esta ocasión. Luego puede establecer el parámetro action como artist_consistency (si se trata del nuevo estilo de cantante Persona-v2-vox, action debe establecerse como artist_consistency_vox), e introducir el ID de la canción que necesita seguir generándose y el ID del estilo de cantante; el ejemplo de llenado es el siguiente:

Después de completar, se genera automáticamente el siguiente código:

El código Python correspondiente:
Haga clic en ejecutar y podrá ver que se obtiene un resultado, como se muestra a continuación:
Se puede observar que el contenido del resultado es consistente con el anterior, lo que permite implementar la función de generar canciones utilizando un estilo de cantante.

Función de continuación de generación

Si desea continuar generando una canción de Suno ya generada, puede establecer el parámetro action como extend e introducir el ID de la canción que necesita seguir generándose. La obtención del ID de la canción se realiza según el uso básico; según lo anterior, en este momento puede ver que el ID de la canción es:
Tenga en cuenta que el id en la letra aquí es el ID de la canción después de generarse. Si no sabe cómo generar una canción, puede consultar el uso básico anterior para generar una canción.
Si desea continuar generando una canción que haya subido usted mismo, puede establecer el parámetro action como upload_extend e introducir el ID de la canción personalizada subida que necesita seguir generándose. La obtención del ID de la canción se realiza mediante Suno Upload Generation API, como se muestra en la siguiente imagen:

A continuación, debe completar la letra del fragmento de continuación y puede especificar el estilo:
  • lyric: solo se utiliza para guiar la letra del nuevo fragmento generado después de continue_at; no reemplazará la letra anterior a ese punto temporal en el audio de origen.
  • custom: complételo como true, lo que representa una generación personalizada; este parámetro es false por defecto, lo que representa la generación mediante prompt.
  • style: el estilo de canción del fragmento de continuación, opcional.
  • continue_at: límite de continuación, en segundos. Por ejemplo, 213.5 indica que se generan los fragmentos posteriores a partir de los 3 minutos y 33.5 segundos.
extend se utiliza para continuar creando a partir de una canción existente, no para cambiar la letra de toda la canción. Si desea utilizar una nueva letra desde el principio para toda la canción, utilice generate para volver a generar; si desea reinterpretar una canción existente como referencia, puede utilizar cover. Al introducir una letra nueva completa, la letra original anterior a continue_at seguirá sin reemplazarse.
El ejemplo de llenado es el siguiente:

Después de completar, se genera automáticamente el siguiente código:

Lo que se conserva a continuación es una instantánea de una llamada histórica real, en la que continue_at es de 2 segundos; por lo tanto, solo los primeros 2 segundos pertenecen al contenido original anterior al límite de continuación. Al continuar cerca del final de una canción, este valor debe establecerse en el segundo en el que se espera comenzar la continuación, y solo se debe proporcionar en lyric el nuevo fragmento que se cantará después del límite. El código Python correspondiente:
Haz clic en ejecutar y podrás ver que se obtiene un resultado, como el siguiente:
Se puede observar que lyric en el resultado devuelve el texto de la letra utilizado en esta tarea de continuación. Este campo no es una transcripción literal del audio final completo; para extend, el audio de origen anterior a continue_at sigue usando la letra original, y la nueva letra solo se utiliza para guiar el fragmento de continuación.

Obtener la canción completa

El resultado de extend del modelo actual normalmente ya incluye el audio de origen anterior a continue_at y el nuevo contenido posterior al límite; primero determina si ya es la canción completa según la duración real y el contenido del audio devuelto. Si se devuelve un fragmento de continuación independiente, o si es necesario fusionar explícitamente el historial de múltiples continuaciones en una canción, utiliza entonces la función de concatenación:
  • action: el contenido es concat.
  • audio_id: el ID del último fragmento de continuación.
Por ejemplo, si el ID de la canción extendida es: 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, entonces se pueden establecer los parámetros de la siguiente manera:
Los demás parámetros permanecen sin cambios; lo que se devuelve es una canción completa, es decir, el resultado de concatenar todos los fragmentos de la canción, pero el resultado solo contiene una canción, como se muestra a continuación:

Versión de música

Cuando se continúa generando una canción basándose en una canción existente, el estilo de la canción devuelta puede no ser muy adecuado. Si se desea crear una versión de una canción generada previamente (también se admite música personalizada subida), se debe utilizar el método de versión de música, con el que se puede especificar el siguiente contenido:
  • action: El contenido es cover; cuando se realiza una operación de versión sobre música personalizada subida, se debe especificar el contenido como: upload_cover.
  • audio_id: El ID de la canción generada previamente.
Por ejemplo, si el ID de la canción generada previamente es: 0a1e1b10-c36a-41c9-9bfb-b26d9d25db98, entonces se pueden establecer los parámetros de la siguiente manera:
Los demás parámetros permanecen sin cambios, y lo que se devuelve es una canción versionada, es decir, el resultado de crear una versión de la canción generada previamente, como se muestra en el siguiente ejemplo:
El resultado generado es similar al anterior, con lo que se completa el proceso de generar una versión de la canción generada previamente.

Reemplazar fragmento

Cuando, después de generar una canción, se necesita realizar una creación secundaria mediante una operación independiente de reemplazo de fragmentos de la canción, se puede realizar una operación de reemplazo sobre un determinado fragmento de la canción.
⚠️ Nota: replace_section_result_mode es full_song de forma predeterminada: el sistema concatenará respectivamente 2 candidatos recién generados y devolverá 2 canciones completas. Si solo se necesitan los candidatos de fragmentos de reemplazo que aún no se han concatenado, establezca explícitamente el valor en candidates y luego seleccione un candidato para llamar a Concatenación de música.
La descripción de los parámetros es la siguiente:
  • action: El contenido es replace_section.
  • audio_id: El ID de la canción original (la canción fuente que se reemplaza).
  • model: El modelo de generación de canciones.
  • lyric: La letra completa después del reemplazo (incluido el fragmento reemplazado y su contexto, coherente con el contenido de prompt).
  • prompt: La nueva letra de la sección que se necesita reemplazar.
  • style: El estilo de la canción, opcional.
  • replace_section_start: El tiempo de inicio (segundos) del fragmento reemplazado en la canción original.
  • replace_section_end: El tiempo de finalización (segundos) del fragmento reemplazado en la canción original.
  • replace_section_result_mode: El modo de devolución, cuyo valor predeterminado es full_song. full_song concatena respectivamente 2 candidatos y devuelve 2 canciones completas; candidates devuelve 2 fragmentos candidatos aún no concatenados.

Paso uno: iniciar una tarea de reemplazo de fragmento

Por ejemplo, si el ID de la canción generada previamente es: 18db7ed0-2b8a-41db-91c1-b0781dcca0d4 (con una duración de 94.12 segundos), y se desea reemplazar el estribillo desde el segundo 30 hasta el segundo 60 por una nueva letra, entonces se pueden establecer los parámetros de la siguiente manera:
De forma predeterminada, devuelve 2 canciones completas, cada una compuesta mediante la concatenación de dos candidatos. Si replace_section_result_mode se establece en candidates, devuelve 2 fragmentos de reemplazo aún no concatenados, con una estructura coherente con el siguiente ejemplo:
En el modo candidates, las duraciones de las dos pistas de audio devueltas (45.16 segundos, 33.8 segundos) son mucho más cortas que la canción original (94.12 segundos); son fragmentos de reemplazo que contienen una pequeña cantidad de contexto y no son la canción completa. Puedes seleccionar un candidato satisfactorio y continuar concatenándolo manualmente. El modo predeterminado full_song completará dos concatenaciones y devolverá directamente 2 canciones completas.

Devolver directamente canciones completas

Si deseas obtener directamente canciones completas, puedes establecer replace_section_result_mode en full_song en el paso uno. La interfaz concatenará respectivamente los dos candidatos y devolverá 2 canciones completas; en este caso, no es necesario llamar de nuevo a concat.

Paso dos: concatenar el fragmento de reemplazo de vuelta a la canción original

Para el fragmento seleccionado anteriormente (por ejemplo, 364f9d8b-ca25-463b-9a5e-d0b7139e2d6a), inicia una tarea concat según el método de la sección Concatenación de música:
Lo que se devuelve es la canción completa ya concatenada; el ejemplo es el siguiente:
En este momento, duration se ha restaurado a la duración completa de la canción (105.28 segundos, aproximadamente igual a la duración de la canción original), y audio_url apunta a la canción completa después de finalizar el reemplazo. Esto completa el flujo de creación secundaria de “generar → reemplazar fragmento → unir canción completa”.

Separación de voces e instrumentos

Cuando, después de generar una canción, se necesita realizar una creación secundaria con operaciones independientes sobre el acompañamiento y las voces, se pueden separar el acompañamiento instrumental puro y las voces a capela. Se puede especificar el siguiente contenido:
  • action: el contenido es stems.
  • audio_id: el ID de la canción generada anteriormente.
Por ejemplo, si el ID de la canción generada originalmente es: ec13e502-d043-4eb2-92ee-e900c6da69d1, entonces se pueden establecer los parámetros de la siguiente manera:
Mediante los parámetros anteriores se puede obtener el resultado de la separación de voces e instrumentos, el resultado es el siguiente:
El resultado generado es similar al anterior, con lo que se completa el proceso de separación de voces e instrumentos de la canción generada originalmente.

Separación de voces e instrumentos de todas las pistas

Cuando, después de generar una canción, se necesita realizar una operación de separación de voces e instrumentos de todas las pistas, se puede especificar el siguiente contenido:
  • action: el contenido es all_stems.
  • audio_id: el ID de la canción generada anteriormente.
Por ejemplo, si el ID de la canción generada originalmente es: bdf23a5a-59f5-4103-b452-054a824a7f9f, entonces se pueden establecer los parámetros de la siguiente manera:
Mediante los parámetros anteriores se puede obtener el resultado de la separación de voces e instrumentos de todas las pistas, el resultado es el siguiente:
El resultado generado es similar al anterior, con lo que se completa el proceso de separación de voces e instrumentos de la canción generada originalmente.

Añadir pista de audio

add_stem genera una pista del instrumento o sonido objetivo para el audio especificado, mediante la llamada a POST /suno/audios.
  • Obligatorios: action, audio_id, stem_type.
  • Opcionales: model, prompt, title, style, negative_tags, weirdness, style_influence, audio_weight, max_mode, variety.
  • Facturación: 0.672 Credits en modo normal; 1.344 Credits cuando max_mode es true.
Respuesta en estado final:

Extraer pista de audio

extract_stem extrae la pista de audio objetivo del audio especificado y, al mismo tiempo, devuelve la versión complementaria después de eliminar dicha pista, mediante la llamada a POST /suno/audios.
  • Obligatorios: action, audio_id, stem_type.
  • Opcional: audio_format, el contrato público actual de doble canal solo admite mp3.
  • Facturación: 1.12 Credits.
El data de la respuesta en estado final conserva una lista plana de audios, y stem_sets indica la relación correspondiente entre la pista de audio objetivo y la pista de audio complementaria:

Generar efectos de sonido

sounds genera efectos de sonido de una sola vez o en bucle según una descripción de texto, mediante la llamada a POST /suno/audios.
  • Obligatorios: action, sound, sound_type.
  • Opcionales: model, bpm, key, audio_format; audio_format actualmente solo admite mp3.
  • sound_type: one-shot o loop.
  • Facturación: 0.112 Credits.

Ajustar la velocidad del audio

adjust_speed ajusta la velocidad de reproducción del audio especificado, mediante la llamada a POST /suno/audios.
  • Obligatorio: action, audio_id, speed_multiplier, title.
  • Opcional: keep_pitch.
  • speed_multiplier: rango de 0.25–4.
  • Facturación: 0.28 Credits.
La duración del audio de origen es de 9.8 segundos, y el resultado a 1.1x de velocidad es de 8.909090909 segundos:
El modelo de generación tiene aleatoriedad. La interfaz garantiza que la semántica de los parámetros, el estado de la tarea y la estructura de la respuesta sean consistentes, pero no garantiza que diferentes solicitudes generen formas de onda exactamente iguales.

Parámetros avanzados para la generación personalizada

La plataforma oficial permite utilizar los parámetros avanzados weirdness==>Weirdness, style_influence==>Style Influence, audio_weight==>Audio Influence para la generación en modo personalizado, correspondientes a los siguientes ejemplos oficiales:

Los rangos de los parámetros avanzados están todos entre 0 y 1, y los parámetros específicos se muestran en la siguiente imagen:

Después de completar los campos, se genera automáticamente el siguiente código:

El código Python correspondiente:
Al hacer clic en ejecutar, se puede observar que se obtiene un resultado, como se muestra a continuación:
De esta manera se utilizan parámetros avanzados para generar canciones personalizadas, y el resultado es similar al anterior.

Controlar la duración de la canción

De forma predeterminada, la duración de las canciones generadas la decide el propio modelo, normalmente entre 30 segundos y 4 minutos. Si se necesita un producto final más largo o más corto, se puede especificar la duración deseada mediante el parámetro duration, cuya unidad son segundos y cuyo valor debe ser un número entero entre 10 y 360. Este parámetro se utiliza para la generación de canciones en modo personalizado (custom es true). Es necesario aclarar especialmente que duration es una indicación de tendencia, no una restricción estricta: el modelo hará referencia a este valor al crear, pero no garantiza alcanzarlo; en las pruebas, la duración real suele ser notablemente menor que el valor esperado, y las duraciones de las dos canciones devueltas en una misma solicitud también pueden diferir varias veces. Incluso para solicitudes completamente idénticas, las duraciones obtenidas tras varios envíos también pueden variar considerablemente. Por lo tanto, no lo utilice como un control preciso de duración; si se requiere una duración fija para el negocio, recorte o vuelva a intentarlo por su cuenta después de obtener el producto final. El código Python correspondiente:
Cabe señalar que duration en la solicitud es la duración esperada, mientras que el campo duration de cada canción en los data de la respuesta es la duración real de esa canción. Ambos tienen el mismo nombre, pero significados diferentes; no se garantiza que la duración real sea igual al valor esperado. La longitud de la letra es uno de los principales factores que afectan la duración del producto final; si se necesita un producto final más largo, se recomienda proporcionar letras más completas al mismo tiempo. La interfaz validará que duration debe ser un entero entre 10 y 360; sigue siendo solo un objetivo de generación, no una garantía de la duración del producto final.

Función Add Insterumental

En agosto de 2025, suno lanzó la nueva función Add Insterumental. Primero es necesario subir una canción a capela sin voz en off, para que suno te ayude a añadirle acompañamiento musical. Primero puedes ir a Suno Upload API para subir una canción a capela sin acompañamiento musical; las operaciones correspondientes se muestran en la siguiente imagen:

Luego es necesario registrar el audio_id después de la subida; el resultado específico se muestra en la siguiente imagen:

Finalmente se obtiene un audio_id: 92254cab-3372-4d9e-bce9-cdcfdbc39070, y luego también necesitamos completar los siguientes parámetros:
  • action: el contenido es underpainting.
  • underpainting_start: la hora de inicio para añadir acompañamiento a la canción subida; el valor predeterminado es 0.
  • underpainting_end: la hora de finalización para añadir acompañamiento a la canción subida; debe ser menor que la duración total de la canción.
  • audio_id: el ID de la canción a capela sin voz en off subida.
  • style: el estilo del acompañamiento; es mejor no usar letra, después de todo es doblaje.
Después de completar la información, se genera automáticamente el siguiente código:

El código Python correspondiente:
Al hacer clic en ejecutar, se puede observar que se obtiene un resultado, como el siguiente:
De esta forma se completa la operación de añadir acompañamiento musical a la canción a capela sin voz en off subida; el resultado es similar al descrito anteriormente.

Función Add Vocals

En agosto de 2025, suno lanzó la nueva función Add Vocals. Primero es necesario subir una pieza de música instrumental, para que suno escriba la letra y genere canto vocal. Primero puedes ir a Suno Upload API para subir una canción a capela sin acompañamiento musical; las operaciones correspondientes se muestran en la siguiente imagen:

Luego es necesario registrar el audio_id después de la subida; el resultado específico se muestra en la siguiente imagen:

Finalmente se obtiene un audio_id: 92254cab-3372-4d9e-bce9-cdcfdbc39070, y luego también necesitamos completar los siguientes parámetros:
  • action: el contenido es overpainting.
  • overpainting_start: la hora de inicio para añadir voces a la canción subida; el valor predeterminado es 0.
  • overpainting_end: la hora de finalización para añadir voces a la canción subida; debe ser menor que la duración total de la canción.
  • audio_id: el ID de la canción a capela sin voz en off subida.
  • custom: en este modo se debe usar el modo personalizado para introducir la letra.
  • lyric: la letra introducida en el modo personalizado.
  • style: el estilo del acompañamiento.
Después de completar la información, se genera automáticamente el siguiente código:

El código Python correspondiente:
Haz clic en ejecutar y podrás ver que obtendrás un resultado, como se muestra a continuación:
De esta manera se completa la operación de añadir voces a una canción a capela subida sin acompañamiento, y el resultado es similar al anterior.

Función Remaster

En diciembre de 2025, Suno lanzó la nueva función Remaster. Esta función puede regenerar canciones, no puede utilizarse entre cuentas, y luego también debemos rellenar los siguientes parámetros:
  • action: el contenido es remaster.
  • audio_id: el ID de la canción que necesita regenerarse.
  • model: solo admite v4.5+ y v5.
  • variation_category: solo se admite en versiones v5 o superiores, y solo tiene 3 valores: high, normal y subtle.
Después de completar los campos, el código se genera automáticamente como se muestra a continuación:

El código Python correspondiente:
Haz clic en ejecutar y podrás ver que obtendrás un resultado, como se muestra a continuación:
De esta manera se completa la operación de regenerar una canción ya generada, y el resultado es similar al anterior.

Función de generación de mezclas Mashup

En diciembre de 2025, Suno lanzó la nueva función Mashup. Esta función puede generar canciones basándose en dos canciones de referencia, y luego también debemos rellenar los siguientes parámetros:
  • action: el contenido es mashup.
  • mashup_audio_ids: los ID de las dos canciones de referencia. Después de completar el formulario, se genera automáticamente el siguiente código:

El código Python correspondiente:
Al hacer clic en ejecutar, se puede observar que se obtiene un resultado, como se muestra a continuación:
De esta manera, se completa la operación de generación de mezcla de canciones de referencia, y el resultado es similar al anterior.

Samples Generar canciones mediante muestreo

Aquí, samples se refiere al muestreo de un intervalo de un único audio: se seleccionan los tiempos de inicio y finalización de un audio existente, y el fragmento se utiliza como material de muestreo para la creación. Es diferente de la función de creación de inspiración Inspo que utiliza de 1 a 4 segmentos completos de audio de referencia a continuación. Se deben completar los siguientes parámetros:
  • action: el contenido es samples.
  • samples_start: tiempo de inicio del muestreo.
  • samples_end: tiempo de finalización del muestreo.
  • audio_id: el ID de la canción de referencia que se debe muestrear.
Después de completar el formulario, se genera automáticamente el siguiente código:

El código Python correspondiente:
Al hacer clic en ejecutar, se puede observar que se obtiene un resultado, como se muestra a continuación:
De esta manera se completa la operación de generar canciones mediante muestreo, y el resultado es similar al anterior.

Función de creación por inspiración de Inspo

La función de creación por inspiración de Inspo puede generar música nueva basándose en 1 a 4 segmentos completos de audio de referencia, y admite arrastrar o cargar audio como fuente de inspiración. La API utiliza la acción existente inspo: el cliente proporciona URL de audio accesibles públicamente, y el servicio completa automáticamente la preparación del audio de referencia y la creación, sin necesidad de que el cliente lea por separado la letra, el estilo o la duración para luego ensamblar la solicitud. Es diferente del muestreo por intervalos anterior y también diferente de Cover, que replica el estilo de la canción original. Al utilizarla, se deben completar los siguientes parámetros:
  • action: el contenido es inspo.
  • audio_urls: lista de URL de audio de referencia; se deben proporcionar de 1 a 4 direcciones de audio accesibles públicamente.
  • model: el modelo utilizado; se recomienda chirp-v6.
  • prompt: letra o palabras clave de creación (opcional).
Nota: el audio de referencia debe ser un archivo de audio accesible públicamente. Si el audio de referencia coincide exactamente con una grabación conocida en la biblioteca musical de la plataforma, Suno podría rechazar la generación debido a la verificación de derechos de autor; se recomienda utilizar audio propio o generado por Suno como fuente de inspiración.
El código Python correspondiente:
A continuación se conserva una instantánea de respuesta histórica ya verificada; la instantánea utiliza el chirp-v5 de ese momento, el ejemplo de solicitud actual recomienda chirp-v6, y la estructura de respuesta es la misma:
De esta manera se completa la operación de creación por inspiración, y el resultado devuelto es el mismo que el de la generación normal de canciones.

Devolución de llamada asíncrona

Dado que Suno tarda relativamente mucho tiempo en generar música, aproximadamente 1-2 minutos, si la API no responde durante mucho tiempo, la solicitud HTTP mantendrá la conexión abierta, lo que provoca un consumo adicional de recursos del sistema, por lo que esta API también proporciona soporte para devoluciones de llamada asíncronas. El proceso general es: cuando el cliente inicia una solicitud, especifica adicionalmente un campo callback_url; después de que el cliente inicia una solicitud a la API, la API devolverá inmediatamente un resultado que contiene un campo task_id, que representa el ID de la tarea actual. Cuando la tarea se completa, el resultado de la generación de música se enviará mediante POST JSON al callback_url especificado por el cliente, que también incluye el campo task_id, de esta forma los resultados de la tarea pueden asociarse mediante el ID. A continuación, entenderemos cómo operar específicamente mediante un ejemplo. Primero, la devolución de llamada Webhook es un servicio que puede recibir solicitudes HTTP; los desarrolladores deben reemplazarla por la URL de su propio servidor HTTP implementado. Aquí, para facilitar la demostración, se utiliza un sitio web público de ejemplo de Webhook https://webhook.site/; al abrir este sitio web se puede obtener una URL de Webhook, como se muestra en la imagen: Copie esta URL para poder utilizarla como Webhook; el ejemplo aquí es https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2. A continuación, podemos establecer el campo callback_url con la URL de Webhook anterior y, al mismo tiempo, rellenar prompt, como se muestra en la imagen: Haga clic en ejecutar; podrá observar que se obtiene inmediatamente un resultado, como el siguiente:
Espere un momento; podremos observar el resultado de la generación de la canción en https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2, como se muestra en la imagen: El contenido es el siguiente:
Se puede ver que hay un campo task_id en el resultado; los demás campos son similares a los anteriores, y la asociación de tareas puede realizarse mediante este campo. Por supuesto, también podemos obtener los resultados mediante llamadas de flujo; solo necesitamos establecer el valor de accept en el encabezado de la solicitud como application/x-ndjson. A continuación, se utiliza una entrada de ejemplo como demostración:

Durante la espera podemos obtener la siguiente salida: La respuesta en streaming enviará secuencialmente el estado de procesamiento y el resultado final para el mismo task_id; arriba solo se conservan la primera y la última respuesta real, omitiendo las actualizaciones intermedias repetidas.

Manejo de errores

Si ocurre un error, obtendrá un mensaje de error similar al siguiente:
A continuación se muestra la lista de HTTP Status Code, error.code, error.message:
Nota: Los límites y los textos de error de distintas cuentas upstream pueden variar. Por lo general, chirp-v3-5/chirp-v4 tienen límites más bajos para style (200), mientras que chirp-v4-5 y superiores suelen admitir hasta 1000; al usar un upstream antiguo, pueden aparecer textos de compatibilidad como Tags too long. o style must be less than or equal 120. | Código de estado | error.code | error.message | | ---------------- | ------------- | --------------------------------------------------------------- | | 400 | bad_request | El id de la canción no existe o se ha desconectado. | | 400 | bad_request | La indicación es demasiado larga. | | 400 | bad_request | Las etiquetas son demasiado largas. | | 400 | bad_request | El audio subido coincide con una obra de arte existente. | | 400 | bad_request | instrumental debe ser un booleano | | 400 | bad_request | El título es demasiado largo. | | 400 | bad_request | El tema es demasiado largo. | | 400 | bad_request | style debe ser menor o igual a 120 | | 400 | bad_request | custom debe ser un booleano | | 400 | bad_request | audio_id es obligatorio al extender audio | | 400 | bad_request | continue_at es obligatorio al extender audio | | 400 | bad_request | continue_at debe ser un número mayor que 0 | | 400 | bad_request | lyric es obligatorio al extender audio y instrumental es falso | | 400 | bad_request | prompt es obligatorio al generar audio | | 400 | bad_request | lyric es obligatorio al generar audio personalizado | | 403 | forbidden | La indicación probablemente está malformada | | 403 | forbidden | La indicación probablemente tiene derechos de autor | | 403 | forbidden | La indicación contenía material inapropiado | | 403 | forbidden | La descripción de la canción fue marcada para moderación | | 403 | forbidden | La descripción de la canción contenía el nombre de un artista | | 403 | forbidden | Las etiquetas contenían el nombre de un artista | | 403 | forbidden | La letra contenía material con derechos de autor | | 403 | forbidden | La descripción de la canción contenía una etiqueta de productor | | 403 | forbidden | Error genérico de openAI | | 403 | forbidden | La indicación fue marcada para moderación | | 500 | api_error | No se puede generar letra a partir de la descripción de la canción | | 500 | api_error | el trabajo falló con un error desconocido | | 500 | api_error | no hay trabajador disponible en el sistema | | 500 | api_error | servicio en mantenimiento, generación pausada | | 504 | timeout | tiempo de espera agotado mientras se esperaba la generación de audio |