API de subida de audio de origen

Actualizado el 2026-09-18 · equipo de Suno-API

Descripción del endpoint

Subir audio de origen convierte un archivo de audio local o remoto en un clip de origen que pueden usar las capacidades posteriores: cover, extensión, reemplazo de sección, separación, etc.

Endpoint: POST /api/music/upload-source

Facturación: Gratis. Este endpoint solo sube el audio de origen; no inicia ninguna tarea de generación.

Uso recomendado: es el paso 1 del «cover en dos pasos». Sube primero el audio con este endpoint (es gratis y puedes reintentar siempre que falle) y guarda el clip_id devuelto; cuando confirmes que la subida se ha completado (status en un estado finalizado), llama a la API de cover desde un clip de origen para iniciar el cover — el cuerpo de esa petición son solo unos cientos de bytes, así que no puede truncarse en tránsito porque el audio sea demasiado grande. Frente a la API de una sola vez subir y hacer cover, esta separación es más robusta cuando el audio es grande, la red es inestable o el mismo material se va a reutilizar varias veces (extensión / reemplazo / separación).

Consejos para subir archivos grandes

Situación Enfoque recomendado
El audio ya es público (tiene un enlace directo https) Usa file_url: el cuerpo de la petición son solo unos cientos de bytes, la opción más robusta
Archivo local (Node / Python / escritorio) Usa una subida multipart (-F "file=@source.mp3") y no establezcas Content-Type manualmente
Solo es posible JSON + base64 Ten en cuenta que Content-Length debe ser el número de bytes (Buffer.byteLength); de lo contrario el cuerpo puede truncarse

Cuando termine la subida, confirma siempre que el status de la respuesta ya sea un estado finalizado y guarda el clip_id antes de pasar al paso 2; una subida fallida no se cobra y no crea ninguna tarea de generación, así que basta con reintentar.

Parámetros de la petición

Headers

Para peticiones JSON:

Parámetro Tipo Obligatorio Notas
Authorization string sí Bearer YOUR_API_KEY
Content-Type string sí application/json

No establezcas Content-Type manualmente en peticiones multipart; lo genera el cliente.

Parámetros del cuerpo

Parámetro Tipo Obligatorio Por defecto Notas
model string no suno-v6 Nombre de modelo para el cliente: suno-v6, suno-v6-wild o suno-v6-mini
file_url string no - URL del audio remoto
file_base64 string no - Audio en Base64
file_name string no - Nombre del archivo
upload_type string no file_upload Tipo de subida

Ejemplo de petición JSON

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "file_url": "https://example.com/source.mp3",
    "file_name": "source.mp3",
    "upload_type": "file_upload"
  }'

Ejemplo de petición multipart

curl -X POST https://www.suno-api.io/api/music/upload-source \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.mp3" \
  -F "file_name=source.mp3" \
  -F "upload_type=file_upload" \
  -F "model=suno-v6"

Respuesta

{
  "clip_id": "uploaded_clip_id",
  "status": "complete",
  "title": "source.mp3",
  "image_url": "https://...",
  "audio_url": "https://...",
  "display_tags": "pop, vocal",
  "inferred_description": "uploaded source audio",
  "clip_metadata": {}
}
SiguienteAPI de subida reforzada

Obtener una clave de API

Crea una clave de API en la consola después de registrarte. Cada generación cuesta 0,6 ¥ y devuelve 2 pistas, las descargas son ilimitadas y no hace falta número de teléfono.

Obtener clave de API Volver al resumen