Música

Crear música

Crea una tarea de generación de música utilizando Suno

POST
/v1/music/generations

Genera música y letras utilizando IA. Esta es una API asíncrona. La respuesta de creación devuelve una identidad de tarea y, cuando está disponible, también puede incluir un poll_url preferido.

Cuerpo de la solicitud

modelstringpredeterminado: suno_music

ID del modelo musical, como suno-music. Para generar solo letras, elige un modelo cuyas operaciones públicas actuales incluyan lyrics.

promptstring

Descripción musical o texto de reemplazo. Obligatorio para música, letras, upload-cover, upload-extend y replace-section; opcional para add-instrumental y separación de pistas.

titlestring

Título para la canción generada.

tagsstring

Etiquetas de estilo (por ejemplo, "pop, upbeat, electronic").

negative_tagsstring

Estilos que se deben evitar. Es obligatorio cuando audio_operation es add-instrumental.

actionstring

Valor opcional MUSIC o LYRICS. Elige un modelo compatible con la operación pública correspondiente; este campo no añade generación de letras a un modelo que solo admite música.

mvstring

Selector de versión Suno. Obligatorio para generación, upload-cover, upload-extend, add-instrumental y reemplazo desde audio_url. Omítelo para letras, reemplazo desde task_id + audio_id y separación de pistas. Valores admitidos: chirp-v3-5, chirp-v4, chirp-v4-5, chirp-v4.5, chirp-v4-5plus, chirp-v4.5plus, chirp-v4-5all, chirp-v4.5all, chirp-v5, chirp-v5-5, chirp-v5.5.

make_instrumentalboolean

Establécelo en true para generar una salida instrumental sin voces.

audio_urlstring

URL de audio de referencia o subido que sea accesible públicamente. Si se envía sin audio_operation, TokenLab usa el flujo upload-cover.

audio_operationstring

Operación de audio: upload-cover, upload-extend, add-instrumental, replace-section, vocal-separate, multi-stem-separation, advanced-split.

vocal-separate, multi-stem-separation y advanced-split requieren task_id + audio_id; advanced-split también requiere stem_name. upload-extend requiere continue_at mayor que 0. add-instrumental requiere audio_url, title, tags y negative_tags.

replace-section requiere prompt, tags, title, infill_start_s, infill_end_s y full_lyrics. Elige exactamente una fuente: task_id + audio_id, o audio_url + mv. El intervalo reemplazado debe durar entre 6 y 60 segundos.

task_idstring

ID de una tarea fuente de tu organización, para reemplazar audio generado o separar pistas.

audio_idstring

ID de audio devuelto en el resultado de la tarea fuente. Obligatorio junto con task_id para reemplazar audio generado o separar pistas.

infill_start_snumber

Inicio del reemplazo en segundos, como mínimo 0. Obligatorio para replace-section.

infill_end_snumber

Fin del reemplazo en segundos. Obligatorio para replace-section, entre 6 y 60 segundos después de infill_start_s.

full_lyricsstring

Letra completa de la canción resultante. Obligatoria para replace-section.

stem_namestring

Nombre de la pista. Obligatorio para advanced-split.

continue_clip_idstring

ID de un clip anterior desde el cual continuar.

continue_atnumber

Punto de continuación en segundos. Obligatorio y mayor que 0 para upload-extend.

prompt admite hasta 5000 caracteres; tags y negative_tags, hasta 1000 cada uno. Las operaciones y parámetros admitidos dependen de los detalles actuales del modelo.

Respuesta

idstring

ID de la tarea para consultar el estado.

task_idstring

Alias del mismo ID de tarea asíncrona, cuando se devuelve.

poll_urlstring

URL de polling prioritaria cuando está disponible.

statusstring

Estado de la tarea: pending, processing, completed o failed.

createdinteger

Marca de tiempo Unix de creación de la tarea, cuando se devuelve.

Solicitud

curl -X POST "https://api.tokenlab.sh/v1/music/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-music",
    "mv": "chirp-v4",
    "prompt": "An upbeat electronic dance track with heavy bass",
    "title": "Night Drive",
    "tags": "electronic, EDM, energetic"
  }'

Respuesta

Response
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "suno-music"
}

Autorización

BearerAuth
AuthorizationBearer <token>

Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.

Ubicación: header

Encabezados

X-TokenLab-Delivery-Policy?string

Política de entrega por solicitud. Sustituye los valores predeterminados de la API key y del Workspace. Auto intenta primero con TokenLab Verified y puede cambiar una vez a Official solo antes de la salida, la aceptación de la solicitud o la creación de recursos persistentes.

Valores permitidos

  • "auto"
  • "verified"
  • "official"

Cuerpo de la solicitud

application/json

Respuesta

application/json

application/json