Saltar al contenido principal
Este artículo presentará unas instrucciones de integración de la API de generación de audios de Producer, que permite generar música oficial de Producer introduciendo parámetros personalizados.

Proceso de solicitud

Para utilizar la API de generación de audios de Producer, primero obtenga su API Token en la consola de Ace Data Cloud y guárdelo para usarlo más adelante. Si aún no ha iniciado sesión o no se ha registrado, se le redirigirá 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 permite llamar a todos los servicios de la plataforma, sin necesidad de solicitar uno por separado para cada servicio. La primera solicitud incluirá créditos gratuitos para una experiencia gratuita; cuando los créditos sean insuficientes, puede recargar saldo general en la consola.
📘 Documentación completa: API de generación de audios de Producer →

Uso básico

Para pensar en qué canción desea, puede introducir libremente 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 hemos configurado los Request Headers, incluidos:
  • accept: qué formato de resultado de respuesta desea recibir; aquí se rellena como application/json, es decir, formato JSON.
  • authorization: la clave para llamar a la API, que puede seleccionarse directamente en la lista desplegable después de solicitarla.
Además, los parámetros de Request Body incluyen:
  • action: la acción de esta tarea de generación de música; para generar canciones es generate.
  • model: el modelo utilizado para crear canciones; actualmente los principales son: FUZZ-2.0 Pro, FUZZ-2.0, FUZZ-2.0 Raw,FUZZ-1.1 Pro, FUZZ-1.0 Pro, FUZZ-1.0, FUZZ-1.1, FUZZ-0.8.
  • lyric: el contenido de la letra de la canción.
  • custom: si se utiliza un método personalizado para generar la canción.
  • prompt: el texto de indicación en el modo de inspiración.
  • title: la información del título de la canción.
  • audio_id: el ID de la canción de referencia, utilizado para operaciones como continuar/escribir una versión, etc.
  • continue_at: continuar escribiendo la canción a partir del número de segundos especificado.
  • replace_section_start/replace_section_end: el tiempo de inicio y finalización del fragmento que se reemplazará, en segundos.
  • lyrics_strength: la intensidad de la letra, que indica el grado de influencia de la letra en la generación de audio; opcional entre 0 y 1, el valor predeterminado es 0.7.
  • sound_strength: la intensidad del texto de indicación de audio, opcional entre 0.2 y 1, el valor predeterminado es 0.7.
  • cover_strength: la intensidad de la versión, entre 0.2 y 1, el valor predeterminado es 1.
  • weirdness: el grado de peculiaridad del estilo, opcional entre 0 y 1, el valor predeterminado es 0.5
  • callback_url: la URL que necesita recibir los resultados de la devolución de llamada.
  • async: opcional; cuando se establece en true, la interfaz devuelve inmediatamente task_id, sin necesidad de proporcionar callback_url; después, obtenga el resultado mediante sondeo a través de la interfaz de consulta de tareas correspondiente.
  • instrumental: si se trata del modo sin letra.
Después de seleccionar, puede observar que también se genera el código correspondiente a la derecha, como se muestra en la imagen:

Haga clic en el botón «Try» para realizar una prueba; como se muestra en la imagen anterior, aquí obtenemos el siguiente resultado:
El resultado devuelto tiene varios campos, que se presentan a continuación:
  • success, el estado de la tarea de generación de música en este momento.
    • data, el resultado de esta tarea musical.
      • id, el ID de la tarea de generación de música en este momento.
      • sound, el texto de indicación de la tarea de generación de música en este momento.
      • seed, el valor de semilla de la tarea de generación de música en este momento.
      • audio_url, el enlace de audio de la tarea de generación de música en este momento.
      • image_url, el enlace de portada de la tarea de generación de música en este momento.
      • image_id, el ID de portada de la tarea de generación de música en este momento.
      • state, el estado de la tarea de generación de música en este momento.
      • duration, la información de duración de la música en este momento.
      • progress, el valor de progreso de la tarea musical en este momento.
      • model, la información del modelo utilizado por la tarea de generación de música en este momento.
      • lyric, la información de la letra de la tarea de generación de música en este momento.
Puede verse que hemos obtenido la información de la música que deseamos generar; solo necesitamos obtener la música de Producer generada según la dirección del enlace musical de data en el resultado. Además, si desea generar el código de integración correspondiente, puede copiarlo directamente para generarlo; por ejemplo, el código CURL es el siguiente:

Generación personalizada

Si desea generar letras personalizadas, puede introducir la letra: En este momento, el campo lyric puede recibir contenido similar al siguiente:
A continuación, si queremos generar una canción personalizada según la letra, el título y el estilo, podemos especificar el siguiente contenido:
  • lyric:texto de la letra
  • custom:establecer como true 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.
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.

Versionar canciones

Si desea realizar una operación de versión sobre una canción ya generada, puede ingresar la canción generada anteriormente para crear una versión; a continuación, debemos generar una canción personalizada según la letra y el título. Si desea continuar versionando una canción subida por usted mismo, puede establecer el parámetro action como upload_cover e ingresar el ID de la canción subida de forma personalizada que necesita seguir versionando. El ID de la canción se obtiene mediante Producer Upload API, como se muestra en la siguiente imagen:

Entonces puede especificar el siguiente contenido:
  • action:el comportamiento de esta tarea de canción actualmente admite: generate、cover、extend、upload_cover、upload_extend、replace_section、swap_vocals、swap_instrumentals、variation; para esta versión se utiliza el parámetro cover.
  • lyric:texto de la letra
  • title:el título de la canción.
  • custom:si se genera mediante el modo personalizado; el valor predeterminado es false.
  • audio_id:el ID de la canción que necesita versionarse.
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.

Continuar una canción

Si desea continuar una canción, necesitamos pasar el valor del parámetro action como: extend, a continuación podemos generar una canción personalizada según la letra, el título y el estilo. Si desea continuar una canción que haya subido usted mismo, puede establecer el parámetro action como upload_extend, e ingresar el ID de la canción personalizada subida que necesita continuar. El ID de la canción se obtiene mediante la API de carga de Producer, como se muestra a continuación:

El ejemplo de rellenado 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.

Variación musical

Si desea generar una nueva música con un efecto similar basándose en el valor seed de la música anterior, necesitamos pasar el valor del parámetro action como: variation, y a continuación podrá generar de forma personalizada una nueva música con un efecto similar. El ejemplo de rellenado 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.

Reemplazar fragmento

Si queremos reemplazar un fragmento de una canción, necesitamos pasar el valor del parámetro action como: replace_section, a continuación necesitamos generar una canción personalizada según la letra y el título. Si queremos continuar reemplazando fragmentos de una canción subida por nosotros mismos, podemos establecer el parámetro action como upload_replace_section, e introducir el ID de la canción personalizada subida que necesita continuar escribiéndose, el ID de la canción se obtiene usando la Producer Upload API, como se muestra a continuación:

El ejemplo de relleno es el siguiente:

Después de completar el relleno, 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.

Versión de acompañamiento

Si desea utilizar la operación oficial de versión de acompañamiento, puede establecer el valor del parámetro action en: swap_instrumentals; a continuación, personalizaremos la generación de canciones según la letra y el título. 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.

Versión de voz

Si desea utilizar la operación oficial de versión de voz, puede establecer el valor del parámetro action en: swap_vocals; a continuación, personalizaremos la generación de canciones según la letra, el título y el estilo. 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.

Separación de letra y música

Si desea utilizar la operación oficial de separación de letra y música, puede establecer el valor del parámetro action en: stems; a continuación, realizaremos la separación de letra y música según el ID de la canción. El ejemplo de llenado es el siguiente:

Después de completar los datos, 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.

Devolución de llamada asíncrona

Dado que el tiempo de generación de Producer Audios Generation API a veces puede ser relativamente largo, si la API no responde durante un tiempo prolongado, la solicitud HTTP mantendrá la conexión, lo que provocará un consumo adicional de recursos del sistema; por lo tanto, 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 la solicitud a la API, la API devolverá inmediatamente un resultado, que incluye un campo task_id, que representa el ID de la tarea actual. Cuando la tarea se completa, el resultado de la tarea de generación se enviará mediante POST JSON al callback_url especificado por el cliente, que también incluye el campo task_id, de modo que los resultados de la tarea puedan asociarse mediante el ID. A continuación, comprenderemos cómo operar específicamente mediante un ejemplo. En primer lugar, la devolución de llamada Webhook es un servicio que puede recibir solicitudes HTTP; los desarrolladores deben reemplazarla con la URL de su propio servidor HTTP construido. Para facilitar la demostración, aquí 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 utilizarla como Webhook; el ejemplo aquí es https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1. A continuación, podemos establecer el campo callback_url como la URL de Webhook anterior y completar los parámetros correspondientes; el contenido específico se muestra en la imagen:

Haga clic en ejecutar y podrá observar que se obtiene inmediatamente un resultado, de la siguiente manera:
Espere un momento; podremos observar el resultado de la tarea de generación en https://webhook.site/#!/view/0d73431d-f833-4be4-9276-b6e1690d55c1, 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 se puede realizar mediante este campo.

Manejo de errores

Al llamar a la API, si se produce un error, la API devolverá el código de error y la información correspondientes. Por ejemplo:
  • 400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o no válidos.
  • 400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o no válidos.
  • 401 invalid_token: No autorizado, token de autorización no válido o faltante.
  • 429 too_many_requests: Demasiadas solicitudes, ha excedido el límite de frecuencia.
  • 500 api_error: Error interno del servidor, algo salió mal en el servidor.

Ejemplo de respuesta de error

Conclusión

A través de este documento, ya ha aprendido cómo utilizar la API de generación de audios de Producer para generar música mediante la introducción de palabras clave. Esperamos que este documento pueda ayudarle a integrar y utilizar mejor esta API. Si tiene alguna pregunta, no dude en contactar con nuestro equipo de soporte técnico.