Panorama de la documentación de Suno API

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

Basta con registrarse con un correo electrónico para crear una clave de API. Cada generación cuesta 0,6 ¥ y devuelve 2 canciones, con descarga en MP3/WAV, covers, Extend, separación de pistas y clonación de voz. URL base: https://www.suno-api.io.

Esta página presenta los modelos disponibles, todos los endpoints de generación y edición, la facturación y el orden de lectura recomendado. Si es tu primera integración, léela de arriba abajo; las rutas de diagnóstico de 401/403/429 también están aquí.

Respuestas rápidas

¿Cómo consigo una clave de API? Regístrate con un correo, entra en la consola, ve a gestión de tokens y crea un token. No hace falta teléfono ni tarjeta.

¿Cuánto cuesta cada llamada? Una generación cuesta 0,6 ¥ y devuelve 2 canciones. Las consultas de estado, el WAV, las letras con marcas de tiempo y las sugerencias de prompt no tienen coste adicional.

¿Qué modelos se admiten? suno-v6 (predeterminado), suno-v6-wild y suno-v6-mini. Los modelos de generación estándar v5.5 y anteriores están retirados; los trabajos existentes no se ven afectados.

¿Cuál es la URL base? https://www.suno-api.io, con la cabecera Authorization: Bearer YOUR_API_KEY.

Modelos disponibles actualmente

Los modelos que el cliente puede indicar en la generación estándar son suno-v6, suno-v6-wild y suno-v6-mini. Si se omite model, se usa suno-v6.

Los modelos estándar suno-v2, suno-v3, suno-v3-5, suno-v4, suno-v4-5, suno-v4-5-all, suno-v4-5-plus, suno-v5 y suno-v5-5 están retirados. En tareas históricas pueden aparecer esos nombres, pero son solo datos históricos y no significan que el modelo siga disponible para nuevas peticiones. La separación de pistas es la excepción: consulta la API de separación (voz/acompañamiento).

Autenticación

Todos los endpoints públicos con clave de API usan las mismas cabeceras:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

URL base:

https://www.suno-api.io

Convenciones generales de parámetros

Límites de los campos de texto

Superar un límite devuelve HTTP 400 directamente: no se genera nada, no se pre-cobra nada y no se crea ningún registro de tarea. El recuento es por caracteres Unicode (un ideograma cuenta como 1) y los espacios iniciales y finales también cuentan.

Campo (incluidos los alias documentados en cada endpoint) Límite
prompt / lyrics / description / theme / gpt_description_prompt 3000 caracteres
style_tags / tags / style / original_tags 1000 caracteres
negative_tags 1000 caracteres
song_title / title 100 caracteres

El message de error indica el campo afectado y la longitud medida, así que esos dos números bastan para recortar el texto:

{
  "error": {
    "message": "style_tags must not exceed 1000 characters; received 2772",
    "type": "invalid_request_error"
  }
}

Se aplica a: /api/music/create, /api/music/create/custom, /api/music/extend, /api/music/upload-cover, /api/music/generate-from-source, /api/music/add-instrumental, /api/music/add-vocal, /api/music/add-stem, /api/music/mashup, /api/music/sample, /api/music/inspo, /api/music/crop, /api/music/remove-section, /api/music/fade, /api/music/reverse, /api/music/speed, /api/music/replace-section, /api/music/generate-with-voice.

Una excepción: el campo description de POST /api/music/sounds está limitado a 100 caracteres, porque la ruta de efectos de sonido usa el límite más corto de la plataforma.

Generación asíncrona y direcciones de audio

Los endpoints de generación musical funcionan de forma asíncrona por defecto. Cuando la primera respuesta trae status igual a pending, submitted o processing, que audio_url, video_url o cover_url estén vacíos es normal y no significa que la tarea haya fallado. Guarda el song_id real (o el client_request_id devuelto) y consulta el endpoint correspondiente; solo lee y descarga una dirección de audio cuando el estado esté completado.

⚠️ Las direcciones de audio caducan a los 7 días: transfiere los archivos a tiempo

audio_url, wav_url, video_url y las direcciones que devuelven los endpoints de descarga se sirven desde el almacenamiento de objetos de la plataforma y caducan por defecto a los 7 días (los archivos se reciclan; una dirección antigua devuelve 404 / no descarga).

  • Dentro de esos 7 días, copia los archivos a tu propio almacenamiento (tu almacenamiento de objetos, una CDN o un disco de servidor). No trates nuestras direcciones como enlaces permanentes.
  • Una dirección caducada no obliga a regenerar la canción y no cuesta nada extra: vuelve a llamar a la API de consulta de canciones (o a la API de descarga de medios) para obtener una dirección nueva y válida.

Tiempos de espera y configuración de timeout

Los endpoints de generación son síncronos: el pedido solo se acepta y se entrega a la plataforma cuando llega la respuesta. Antes de eso, el servicio debe programar una cuenta y superar la comprobación de seguridad necesaria, y no hay respuesta intermedia: ningún otro endpoint ve el pedido. Por tanto, la única prueba fiable de que «se generó algo» es la propia respuesta, no lo que se observe mientras se espera.

Tiempos medidos (producción, familia /api/music/create, del 18 al 20 de septiembre de 2026)

Percentil Espera
p50 unos 1,2–1,6 s
p75 unos 2–6 s
p90 unos 42–49 s
p95 unos 48–76 s
p99 unos 109–160 s
máximo unos 230 s

Requisitos de integración

  1. Configura el timeout del cliente en 300 segundos o más. Los clientes con 30, 60 o 120 segundos por defecto cortan la conexión durante la espera.
  2. No recibir respuesta no significa que no se haya generado nada. Con un timeout o una conexión cortada, el pedido puede estar ya aceptado y generándose.
  3. No reintentes inmediatamente tras un timeout: un envío duplicado crea un segundo pedido y vuelve a cobrar.
  4. Si la conexión se cortó, lista tus canciones con GET /api/music/songs (más recientes primero) un poco después: los pedidos aceptados aparecen con normalidad. Reenvía solo tras confirmar que el pedido no existe.
  5. Al reportar un problema, incluye la cabecera de respuesta X-Oneapi-Request-Id para localizar exactamente esa petición.

¿Prefieres no mantener una conexión larga? Usa el modo de acuse de recibo. POST /api/music/create y POST /api/music/create/custom admiten un acuse opcional: añade "accept_mode": "async" al cuerpo (o la cabecera X-Accept-Mode: async) y el endpoint devuelve 202 de inmediato con un número de acuse mientras la generación continúa en segundo plano; consulta el progreso con GET /api/music/requests/{request_id}. Un cliente con solo unas decenas de segundos de timeout ya no puede confundir «sin respuesta» con «nada generado», ni cobrar dos veces por reintentos. Ver «Modo de acuse de recibo» en la API de generación en modo simple.

Como referencia: python requests usa timeout=300, urllib usa urlopen(..., timeout=300), Node usa req.setTimeout(300000), curl usa --max-time 300.

Lista de endpoints recomendados

Capacidad Método Ruta Nota de facturación Documentación
Saldo de la cuenta GET /api/user/balance Gratis Ver
Generación en modo simple POST /api/music/create De pago, actualmente 0,6 ¥ por llamada por defecto Ver
Generación en modo personalizado POST /api/music/create/custom De pago; admite género vocal, influencia de estilo y aleatoriedad Ver
Generación de voz hablada (Speech) POST /api/music/speech De pago, actualmente 0,6 ¥ por llamada; música de fondo opcional Ver
Progreso del acuse de recibo GET /api/music/requests/{request_id} Gratis; se usa con accept_mode=async Ver
Efectos de sonido POST /api/music/sounds De pago, actualmente 0,6 ¥ por llamada Ver
Generación de letras POST /api/lyrics/generate Gratis dentro de la cuota (10/min, 300/día), después 0,1 ¥ por llamada Ver
Creación de perfil de voz (recomendado) POST /api/music/voice-profile/create Gratis (enhanced=true se cobra al precio de clonación reforzada) Ver
Cover con tu voz (recomendado) POST /api/music/voice-profile/cover 1,2 ¥ por llamada; 2,4 ¥ con Max Mode Ver
Lista / detalle / borrado de voces (recomendado) GET/POST /api/music/voice-profile/list, /{voice_id}, /delete Gratis Ver
Clonación de voz (cadena antigua, no recomendada) POST /api/voice/clone/validate Gratis Ver
Consultar una tarea de clonación de voz GET /api/voice/clone/tasks/:voice_task_id Gratis Ver
Regenerar el texto de verificación POST /api/voice/clone/tasks/:voice_task_id/regenerate Gratis Ver
Enviar el audio de verificación y crear la voz POST /api/voice/clone/tasks/:voice_task_id/generate Se cobra según las reglas de clonación de voz Ver
Comprobar si la voz clonada es utilizable POST /api/voice/clone/tasks/:voice_task_id/check Gratis Ver
Eliminar una voz clonada DELETE /api/voice/clone/voices/:voice_task_id Gratis Ver
Generar con una voz elegida POST /api/music/generate-with-voice De pago, 1,2 ¥ por llamada; 2,4 ¥ con Max Mode Ver
Consultar resultados de una voz elegida GET /api/music/generate-with-voice/results Gratis Ver
Refuerzo de estilo POST /api/music/boost-style Gratis dentro de la cuota (10/min, 300/día), después 0,1 ¥ por llamada Ver
Sugerencias de prompt POST /api/prompts/suggestions Gratis dentro de la cuota (10/min, 300/día), después 0,1 ¥ por llamada Ver
Subir audio de origen POST /api/music/upload-source Gratis Ver
Enviar una subida reforzada POST /api/music/enhanced-upload De pago, 10 ¥ por llamada Ver
Listar tareas de subida reforzada GET /api/music/enhanced-upload Gratis Ver
Consultar una tarea de subida reforzada GET /api/music/enhanced-upload/:id Gratis Ver
Cancelar una tarea de subida reforzada POST /api/music/enhanced-upload/:id/cancel Gratis; solo se reembolsan las fases cancelables Ver
Subir y hacer cover POST /api/music/upload-cover De pago, actualmente 0,6 ¥ por llamada; con audio grande, mejor upload-source + generate-from-source en dos pasos Ver
Cover desde un clip de origen POST /api/music/generate-from-source De pago, actualmente 0,6 ¥ por llamada Ver
Extend POST /api/music/extend De pago, actualmente 0,6 ¥ por llamada Ver
Reemplazar sección POST /api/music/replace-section De pago, actualmente 0,6 ¥ por llamada Ver
Get Full Song POST /api/music/concat De pago, 0,05 ¥ fijos por llamada Ver
Remaster POST /api/music/remaster De pago, actualmente 0,6 ¥ por llamada Ver
Añadir instrumental POST /api/music/add-instrumental De pago, según el modelo solicitado Ver
Añadir voz POST /api/music/add-vocal De pago, según el modelo solicitado Ver
Añadir pista POST /api/music/add-stem De pago, según el modelo solicitado Ver
Mashup POST /api/music/mashup De pago, según el modelo solicitado Ver
Sample POST /api/music/sample De pago, según el modelo solicitado Ver
Inspo POST /api/music/inspo De pago, según el modelo solicitado Ver
Recorte POST /api/music/crop De pago, según el modelo solicitado Ver
Quitar sección POST /api/music/remove-section De pago, según el modelo solicitado Ver
Fundido POST /api/music/fade De pago, según el modelo solicitado Ver
Invertir POST /api/music/reverse De pago, según el modelo solicitado Ver
Velocidad POST /api/music/speed De pago, según el modelo solicitado Ver
Separación de pistas (voz/acompañamiento) POST /api/music/separate De pago; two 0,6 ¥ por llamada, twelve 3,0 ¥ Ver
Eliminación de voz POST /api/music/vocal-removal Gratis Ver
Eliminar pistas POST /api/music/stem-delete Gratis Ver
Generar/obtener WAV POST /api/music/wav Gratis Ver
Obtener MIDI POST /api/music/download-file (kind=midi) Gratis Ver
Dirección de medios / stream de vista previa POST /api/music/download-url, /api/music/generation-stream-url Gratis Ver
Descarga del archivo de la canción POST /api/music/download-file Gratis Ver
Descarga del paquete de la canción POST /api/music/download-all Gratis Ver
Dirección de descarga estable GET /api/music/download Gratis Ver
Descarga Free2 POST /api/music/free2 De pago, 0,2 ¥ por canción correcta Ver
Consultar el estado de una canción POST /api/music/query Gratis Ver
Historial de canciones de la cuenta GET /api/music/songs Gratis Ver
Parámetros de generación de una canción GET /api/music/songs/:song_id Gratis Ver
Letras con marcas de tiempo POST /api/lyrics/timeline Gratis Ver
Elegibilidad e identidad de licencia GET /api/music/authorization/context Gratis Ver
Vincular identidad de licencia POST /api/music/authorization/identity Gratis; no modificable tras confirmar Ver
Listar canciones licenciables GET /api/music/authorization/songs Gratis; requiere identidad vinculada Ver
Emitir licencia comercial POST /api/music/authorization/certificates Gratis; requiere elegibilidad Ver
Historial de licencias GET /api/music/authorization/certificates Gratis Ver
Detalle de la licencia GET /api/music/authorization/certificates/:id Gratis Ver
Descargar el PDF de la licencia GET /api/music/authorization/certificates/:id/download Gratis Ver

Los endpoints /api/voice/clone/* y /api/music/generate-with-voice pertenecen a la cadena inicial de clonación de voz y no se recomiendan para nuevas integraciones; usa mejor la 【Recomendado】 API de perfil de voz.

Parámetros avanzados: Max Mode y Variety

Los endpoints de generación admiten estos dos parámetros opcionales (omitirlos mantiene el comportamiento y el precio anteriores):

Parámetro Tipo Rango Notas
max_mode boolean true / false Usa más capacidad de cálculo para mejorar la coherencia de toda la canción; esta petición se cobra al doble de precio
variety integer 0-4 Grado de variación estilística: 0=Off, 1=Normal, 2=High, 3=Extra, 4=Max. Si se omite, se usa el nivel predeterminado del modelo (la familia v6 usa 1); sin coste adicional

Endpoints que los admiten: POST /api/music/create, POST /api/music/create/custom, POST /api/music/extend, POST /api/music/upload-cover, POST /api/music/generate-from-source, POST /api/music/add-instrumental, POST /api/music/add-vocal, POST /api/music/add-stem, POST /api/music/mashup, POST /api/music/sample, POST /api/music/inspo, POST /api/music/replace-section, POST /api/music/voice-profile/cover, POST /api/music/speech.

Campos de respuesta comunes de las canciones

Los endpoints de generación, cover, extend, separación y consulta suelen devolver un array de canciones con estos campos:

Campo Tipo Notas
song_id string ID de la canción o de la tarea
song_title string Título de la canción
status string Estado como pending, completed, failed
audio_url string Dirección de audio, devuelta al completarse la generación
video_url string Dirección de vídeo, puede estar vacía
cover_url string Dirección de la imagen de portada
lyrics string Texto de la letra
style_tags string Etiquetas de estilo
duration number Duración del audio en segundos
created_at string Fecha de creación
model_version string Versión del modelo
generation_type string Tipo de generación
error_message string Motivo del fallo

Cuatro pasos para integrar (ejemplo mínimo)

Con estos cuatro pasos obtienes tu primera canción; la lista completa de campos de cada paso está en la página correspondiente de la lista de endpoints recomendados.

# 1) Enviar una generación: 0,6 ¥, devuelve 2 canciones
curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "bright Spanish pop, piano intro, warm female vocal", "model": "suno-v6"}'

# 2) Consultar hasta que status sea completed (3-5 segundos es un buen intervalo)
curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "el song_id devuelto en el paso 1"}'

# 3) Obtener una dirección de medios: los endpoints de lectura son gratis; song / wav / video / cover / midi
curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id": "el mismo song_id", "kind": "song"}'

Si algo falla: 401 / 402 / 403 / 429 están en la guía de errores; timeouts y cobros duplicados en la sección «Tiempos de espera y configuración de timeout»; el detalle de cada endpoint en la lista de abajo.

Recomendaciones

Sobre esta documentación

Esta página se reorganizó en torno a las capacidades que la Create UI expone realmente, y las integraciones nuevas deberían leerla primero. La documentación antigua de la API sigue disponible en la sección «Documentación antigua de la API (compatible)» para quien prefiera su método anterior.

SiguienteAPI de consulta de saldo de la cuenta

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