Saltar al contenido principal
POST
/
v1
/
music
/
generations
/
coverFlowMusic
curl --request POST \
  --url https://api.apimart.ai/v1/music/generations/coverFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Rearreglar esta canción en estilo jazz",
    "strength": 0.5
  }'
import requests

url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic"

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Rearreglar esta canción en estilo jazz",
    "strength": 0.5
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  instruction: "Rearreglar esta canción en estilo jazz",
  strength: 0.5
};

const headers = {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload)
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KWXVD0E653EZ9FWD2SD9NNB6"
    }
  ]
}
{
  "error": {
    "message": "strength must be between 0 and 1",
    "type": "invalid_request",
    "param": "",
    "code": "invalid_request"
  }
}
{
  "error": {
    "message": "Saldo insuficiente",
    "type": "invalid_request",
    "param": "",
    "code": "quota_not_enough"
  }
}
{
  "error": {
    "message": "La capacidad del grupo actual está saturada, inténtelo de nuevo más tarde",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}
curl --request POST \
  --url https://api.apimart.ai/v1/music/generations/coverFlowMusic \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Rearreglar esta canción en estilo jazz",
    "strength": 0.5
  }'
import requests

url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic"

payload = {
    "model": "flowmusic",
    "clip_id": "abc123-def456",
    "instruction": "Rearreglar esta canción en estilo jazz",
    "strength": 0.5
}

headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
const url = "https://api.apimart.ai/v1/music/generations/coverFlowMusic";

const payload = {
  model: "flowmusic",
  clip_id: "abc123-def456",
  instruction: "Rearreglar esta canción en estilo jazz",
  strength: 0.5
};

const headers = {
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
};

fetch(url, {
  method: "POST",
  headers: headers,
  body: JSON.stringify(payload)
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KWXVD0E653EZ9FWD2SD9NNB6"
    }
  ]
}
{
  "error": {
    "message": "strength must be between 0 and 1",
    "type": "invalid_request",
    "param": "",
    "code": "invalid_request"
  }
}
{
  "error": {
    "message": "Saldo insuficiente",
    "type": "invalid_request",
    "param": "",
    "code": "quota_not_enough"
  }
}
{
  "error": {
    "message": "La capacidad del grupo actual está saturada, inténtelo de nuevo más tarde",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}

Autenticación

Authorization
string
requerido
Todas las interfaces requieren autenticación mediante Bearer TokenObtener la API Key:Visite la página de gestión de API Keys para obtener su API KeyAl usarla, añádala en el encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY

Parámetros de solicitud

model
string
requerido
Nombre del modelo, debe ser siempre "flowmusic" (no distingue mayúsculas de minúsculas)
clip_id
string
requerido
Identificador único de la música de origen, proveniente de result.music[].clip_id de una tarea completada con éxito
instruction
string
requerido
Instrucción de edición del coverEjemplo: "Rearreglar esta canción en estilo jazz"
strength
number
requerido
Intensidad de la ediciónRango de valores: 0 ~ 1; cuanto mayor sea el valor, mayor será el cambio
title
string
Título de la música tras el cover
seed
string
Semilla aleatoria, utilizada para reproducir resultados

Respuesta

code
integer
Código de estado de la respuesta, 200 en caso de éxito
data
array
Array de datos devueltos

Casos de uso

Escenario 1: Convertir la canción completa a estilo jazz

{
  "model": "flowmusic",
  "clip_id": "abc123-def456",
  "instruction": "Rearreglar esta canción en estilo jazz",
  "strength": 0.5
}

Escenario 2: Adaptar un audio externo tras importarlo

Primero importe el audio externo mediante subir audio para obtener un clip_id, y luego realice el cover:
{
  "model": "flowmusic",
  "clip_id": "1db3a20f-4ddc-44e8-8c9c-6c9093c16ffe",
  "instruction": "Cambiar a estilo jazz",
  "strength": 0.6
}
Consultar el resultado de la tareaLa adaptación Cover es una tarea asíncrona; tras enviarla se devuelve un task_id. Utilice la interfaz Obtener estado de la tarea para consultar el progreso y el resultado de la generación. El producto del cover es un clip_id nuevo; utilice el nuevo clip_id para las operaciones posteriores.

Ejemplo de resultado de tarea completada

Ejemplo de respuesta de consulta (GET /v1/music/tasks/{task_id}):
{
  "code": 200,
  "data": {
    "id": "task_01KWXVD0E653EZ9FWD2SD9NNB6",
    "status": "completed",
    "progress": 100,
    "created": 1783413244,
    "completed": 1783413315,
    "actual_time": 71,
    "cost": 0.048,
    "credits_cost": 0.48,
    "result": {
      "music": [
        {
          "clip_id": "ef3d804e-fa97-402f-ba17-4ff08270159b",
          "title": "Untitled (Cover)",
          "duration_seconds": "178.03733333",
          "create_time": "2026-07-07T08:34:58.112190Z",
          "lyrics": "[Verse 1]\nWaking up to the morning light,\n...",
          "lyrics_id": "c302d603-81b6-552f-8122-e512928d6aa1",
          "lyrics_timing_markers": [[10, 12], [212, 36]],
          "audio_url": "https://cdn.apimart.ai/audio/flowmusic_ef3d804e.m4a",
          "wav_url": "https://cdn.apimart.ai/audio/flowmusic_ef3d804e.wav",
          "image_url": "https://cdn.apimart.ai/image/flowmusic_ef3d804e_cover.jpg"
        }
      ]
    }
  }
}