Proceso de Solicitud
Para utilizar el Productor Audios Generation API, primero dirígete a Ace Data Cloud Console para obtener tu API Token, que debes guardar para uso futuro.
Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión; una vez completado, regresarás automáticamente a la página actual.
Un API Token es suficiente para acceder a todos los servicios de la plataforma, no es necesario solicitar uno para cada servicio. La primera solicitud incluirá un crédito gratuito para que puedas probarlo; si el crédito se agota, puedes recargar el saldo general en la consola.
📘 Documentación completa: Productor Audios Generation API →
Uso Básico
Si tienes alguna canción en mente, puedes ingresar cualquier texto, por ejemplo, si quiero generar una canción sobre la Navidad, puedo ingresara song for Christmas, como se muestra en la imagen:

accept: el formato de respuesta que deseas recibir, aquí se establece comoapplication/json, es decir, formato JSON.authorization: la clave para llamar a la API, que puedes seleccionar directamente después de solicitarla.
action: la acción de esta tarea de generación musical, para generar una canción esgenerate.model: el modelo utilizado para crear la canción, actualmente hay: 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 generará la canción de manera personalizada.prompt: la palabra clave en modo de inspiración.title: información del título de la canción.audio_id: ID de la canción de referencia, utilizado para continuar o replicar.continue_at: continuar la canción desde un número de segundos específico.replace_section_start/replace_section_end: tiempo de inicio y fin del fragmento a reemplazar, en segundos.lyrics_strength: fuerza de la letra, que indica el grado de influencia de la letra en la generación de audio, seleccionable entre 0-1, por defecto 0.7.sound_strength: fuerza de la palabra clave de audio, seleccionable entre 0.2-1, por defecto 0.7.cover_strength: fuerza de la versión, entre 0.2-1, por defecto 1.weirdness: grado de peculiaridad del estilo, seleccionable entre 0-1, por defecto 0.5.callback_url: URL donde se necesita el resultado de la llamada.async: opcional, si se establece entrue, la interfaz devuelve inmediatamentetask_id, sin necesidad de proporcionarcallback_url, y luego se puede consultar el resultado mediante la interfaz de consulta de tareas correspondiente.instrumental: si es un modo sin letra.

success, el estado de la tarea de generación musical en este momento.data, el resultado de esta tarea musical.id, el ID de la tarea de generación musical en este momento.sound, la palabra clave de la tarea de generación musical en este momento.seed, el valor de semilla de la tarea de generación musical en este momento.audio_url, el enlace de audio de la tarea de generación musical en este momento.image_url, el enlace de la portada de la tarea de generación musical en este momento.image_id, el ID de la portada de la tarea de generación musical en este momento.state, el estado de la tarea de generación musical en este momento.duration, la 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 en la tarea de generación musical en este momento.lyric, la información de la letra de la tarea de generación musical en este momento.
data.
Además, si deseas generar el código de integración correspondiente, puedes copiarlo directamente, por ejemplo, el código de CURL es el siguiente:
Generación Personalizada
Si deseas generar letras personalizadas, puedes ingresar la letra: En este momento, el campolyric puede recibir contenido similar al siguiente:
- lyric:texto de la letra
- custom:rellenar como
true, representa generación personalizada, este parámetro por defecto es false, representa usarpromptpara generar. - title:título de la canción.


Cantar una canción
Si deseas realizar una operación de canto sobre una canción ya generada, puedes ingresar la canción generada anteriormente para cantar, a continuación, vamos a personalizar la generación de la canción según la letra y el título. Si deseas continuar cantando una canción que has subido, puedes establecer el parámetroaction como upload_cover y también ingresar el ID de la canción que deseas continuar cantando, el ID de la canción se obtiene utilizando Producer Upload API como se muestra en la siguiente imagen:

- action:la acción de la tarea de la canción, actualmente soporta: generate, cover, extend, upload_cover, upload_extend, replace_section, swap_vocals, swap_instrumentals, variation, esta vez se usa el parámetro
cover. - lyric:texto de la letra
- title:título de la canción.
- custom:si se utiliza el modo personalizado para generar, por defecto es false.
- audio_id:ID de la canción que se va a cantar.


Continuar escribiendo la canción
Si deseas continuar escribiendo la canción, necesitamos pasar el valor del parámetroaction como: extend, a continuación, debemos personalizar la generación de la canción según la letra, el título y el estilo.
Si deseas continuar escribiendo una canción que has subido, puedes establecer el parámetro action como upload_extend y también ingresar el ID de la canción que deseas continuar escribiendo. El ID de la canción se obtiene utilizando la API de carga de productores como se muestra en la imagen a continuación:



Variación musical
Si deseas generar una nueva música con un efecto similar basado en el valor de seed de la música anterior, necesitamos pasar el valor del parámetroaction como: variation, a continuación, puedes personalizar la generación de una nueva música con un efecto similar.
Ejemplo de llenado a continuación:


Reemplazar sección
Si deseas reemplazar una sección de la canción, necesitamos pasar el valor del parámetroaction como: replace_section, a continuación, debemos personalizar la generación de la canción según la letra y el título.
Si deseas continuar reemplazando una sección de la canción que subiste, puedes establecer el parámetro action como upload_replace_section y también ingresar el ID de la canción que deseas continuar escribiendo. El ID de la canción se obtiene utilizando la API de carga de productor como se muestra en la imagen a continuación:



Versión de acompañamiento
Si deseas utilizar la operación de versión de acompañamiento oficial, puedes establecer el valor del parámetroaction en: swap_instrumentals, a continuación, debemos personalizar la generación de la canción según la letra y el título.
Ejemplo de llenado a continuación:


Versión de voz
Si deseas utilizar la operación de versión de voz oficial, puedes establecer el valor del parámetroaction en: swap_vocals, a continuación, debemos personalizar la generación de la canción según la letra, el título y el estilo.
Ejemplo de llenado a continuación:


Separación de letras y música
Si deseas utilizar la operación oficial de separación de letras y música, puedes establecer el valor del parámetroaction como: stems, a continuación, debemos realizar la separación de letras y música según el ID de la canción.
Ejemplo de llenado a continuación:


Callback asíncrono
Debido a que el tiempo de generación de la API de Producción de Audios a veces puede ser relativamente largo, si la API no responde durante mucho tiempo, la solicitud HTTP mantendrá la conexión, lo que provocará un consumo adicional de recursos del sistema, por lo que esta API también ofrece soporte para callbacks asíncronos. El flujo general es: cuando el cliente inicia la solicitud, se especifica un campo adicionalcallback_url, después de que el cliente inicia la solicitud de la API, la API devolverá inmediatamente un resultado que contiene un campo de información task_id, que representa el ID de la tarea actual. Cuando la tarea se completa, el resultado de la tarea generada se enviará a la callback_url especificada por el cliente en formato JSON POST, que también incluye el campo task_id, de esta manera, el resultado de la tarea se puede asociar mediante el ID.
A continuación, entenderemos cómo operar específicamente a través de un ejemplo.
Primero, el callback de Webhook es un servicio que puede recibir solicitudes HTTP, el desarrollador debe reemplazarlo con la URL de su propio servidor HTTP. Aquí, para facilitar la demostración, se utiliza un sitio web de muestra de Webhook público https://webhook.site/, al abrir este sitio se obtiene una URL de Webhook, como se muestra en la imagen:
Copia esta URL y se puede usar 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, al mismo tiempo que llenamos los parámetros correspondientes, el contenido específico como se muestra en la imagen:

El contenido es el siguiente:
task_id, los otros campos son similares a los anteriores, y a través de este campo se puede realizar la asociación de tareas.
Manejo de errores
Al llamar a la API, si se encuentra con un error, la API devolverá el código de error correspondiente y la información. Por ejemplo:400 token_mismatched: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.400 api_not_implemented: Solicitud incorrecta, posiblemente debido a parámetros faltantes o inválidos.401 invalid_token: No autorizado, token de autorización inválido o faltante.429 too_many_requests: Demasiadas solicitudes, ha superado el límite de tasa.500 api_error: Error interno del servidor, algo salió mal en el servidor.

