Saltar al contenido principal

Introducción

Suno es un servicio de audio AI proporcionado por Ace Data Cloud, generación de música AI de Suno. A través de la API unificada de Ace Data Cloud, puedes integrar rápidamente Suno con JavaScript para lograr generación de música a partir de texto, letras personalizadas, continuación de canciones, covers, separación de voces, generación de letras, entre otras funciones.

Requisitos previos

  • Tener una cuenta en Ace Data Cloud y obtener un API Token
  • Node.js 18+ o un entorno de navegador moderno

Uso básico

El endpoint principal para llamar a la API de Suno es:
POST https://api.acedata.cloud/suno/audios
Este ejemplo usa el modelo chirp-v5.
Modelos disponibles incluyen: chirp-v5, v4-5-plus, v4-5, v4, v3-5.
Ejemplo completo de código JavaScript:
const response = await fetch("https://api.acedata.cloud/suno/audios", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "action": "generate",
  "prompt": "A cheerful pop song about summer vacation",
  "model": "chirp-v5",
  "custom": false
}),
});

const result = await response.json();
console.log(result);
Por favor reemplaza YOUR_API_TOKEN con el Token real que obtuviste en la plataforma Ace Data Cloud.

Manejo de respuestas

Se recomienda verificar el código de estado de la respuesta y manejar errores:
if (response.ok) {
  const result = await response.json();
  console.log("Llamada exitosa:", result);
} else {
  console.error(`Llamada fallida, código de estado: ${response.status}`);
  const error = await response.text();
  console.error(error);
}

Encapsulación en Node.js

Se recomienda encapsular en una función reutilizable:
async function callSuno(data) {
  const response = await fetch("https://api.acedata.cloud/suno/audios", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${process.env.ACE_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(data),
  });
  if (!response.ok) throw new Error(`Error de API: ${response.status}`);
  return response.json();
}

Manejo de errores

Códigos de error comunes:
Código de estadoDescripción
401Autenticación fallida, verifica el API Token
403Saldo insuficiente o acceso denegado
429Límite de frecuencia de solicitudes excedido
500Error interno del servidor

Próximos pasos