Перейти к основному содержанию
GET
/
v1
/
music
/
tasks
/
{task_id}
curl --request GET \
  --url https://api.apimart.ai/v1/music/tasks/task_01K8AYYM6R03TGZ3Q2P0TZVNPX?language=en \
  --header 'Authorization: Bearer <token>'
import requests

task_id = "task_01K8AYYM6R03TGZ3Q2P0TZVNPX"
url = f"https://api.apimart.ai/v1/music/tasks/{task_id}"

headers = {
    "Authorization": "Bearer <token>"
}

params = {
    "language": "en"
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
const taskId = "task_01K8AYYM6R03TGZ3Q2P0TZVNPX";
const url = `https://api.apimart.ai/v1/music/tasks/${taskId}?language=en`;

const headers = {
  "Authorization": "Bearer <token>"
};

fetch(url, {
  method: "GET",
  headers: headers
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error("Error:", error));
{
  "code": 200,
  "data": {
    "id": "task_01K8AYYM6R03TGZ3Q2P0TZVNPX",
    "status": "completed",
    "progress": 100,
    "created": 1783413241,
    "completed": 1783413352,
    "actual_time": 111,
    "cost": 0.06,
    "credits_cost": 0.6,
    "result": {
      "music": [
        {
          "clip_id": "a41aade4-993e-4d28-b56f-d97e7ef7167c",
          "title": "My Song",
          "duration_seconds": "181.70666667",
          "audio_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.m4a",
          "wav_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.wav"
        }
      ]
    }
  }
}
{
  "error": {
    "message": "task not found",
    "type": "invalid_request",
    "param": "task_id",
    "code": "task_not_found"
  }
}
{
  "error": {
    "message": "Текущая группа перегружена, повторите попытку позже",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}
curl --request GET \
  --url https://api.apimart.ai/v1/music/tasks/task_01K8AYYM6R03TGZ3Q2P0TZVNPX?language=en \
  --header 'Authorization: Bearer <token>'
import requests

task_id = "task_01K8AYYM6R03TGZ3Q2P0TZVNPX"
url = f"https://api.apimart.ai/v1/music/tasks/{task_id}"

headers = {
    "Authorization": "Bearer <token>"
}

params = {
    "language": "en"
}

response = requests.get(url, headers=headers, params=params)

print(response.json())
const taskId = "task_01K8AYYM6R03TGZ3Q2P0TZVNPX";
const url = `https://api.apimart.ai/v1/music/tasks/${taskId}?language=en`;

const headers = {
  "Authorization": "Bearer <token>"
};

fetch(url, {
  method: "GET",
  headers: headers
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error("Error:", error));
{
  "code": 200,
  "data": {
    "id": "task_01K8AYYM6R03TGZ3Q2P0TZVNPX",
    "status": "completed",
    "progress": 100,
    "created": 1783413241,
    "completed": 1783413352,
    "actual_time": 111,
    "cost": 0.06,
    "credits_cost": 0.6,
    "result": {
      "music": [
        {
          "clip_id": "a41aade4-993e-4d28-b56f-d97e7ef7167c",
          "title": "My Song",
          "duration_seconds": "181.70666667",
          "audio_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.m4a",
          "wav_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.wav"
        }
      ]
    }
  }
}
{
  "error": {
    "message": "task not found",
    "type": "invalid_request",
    "param": "task_id",
    "code": "task_not_found"
  }
}
{
  "error": {
    "message": "Текущая группа перегружена, повторите попытку позже",
    "type": "rate_limit_error",
    "param": "",
    "code": "rate_limit_error"
  }
}

Аутентификация

Authorization
string
обязательно
Все эндпоинты Flow Music требуют аутентификации по Bearer TokenПолучение API-ключа:Перейдите на страницу управления API-ключами, чтобы получить API-ключДобавьте его в заголовок запроса:
Authorization: Bearer YOUR_API_KEY

Параметры пути

task_id
string
обязательно
ID задачи, возвращаемый после отправки задачи Flow Music
ID задачи берётся из data[0].task_id в ответе на отправку.

Параметры запроса

language
string
по умолчанию:"zh"
Язык сообщений об ошибках и некоторых подсказокДопустимые значения: zh, en, ja, ko

Поля ответа

code
integer
Код статуса ответа, 200 при успехе
data
object
Детали задачи

Структура результата

Музыкальные задачи

Генерация музыки, продление, замена фрагмента, cover-аранжировка, разделение на дорожки, загрузка аудио, скачивание аудио и рендеринг видео обычно возвращают массив result.music.
{
  "result": {
    "music": [
      {
        "clip_id": "a41aade4-993e-4d28-b56f-d97e7ef7167c",
        "audio_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.m4a",
        "wav_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4.wav",
        "video_url": "https://cdn.apimart.ai/video/flowmusic_a41aade4.mp4",
        "file_url": "https://cdn.apimart.ai/audio/flowmusic_a41aade4_stems.zip"
      }
    ]
  }
}

Задачи с текстами песен

Генерация текста песни возвращает массив result.lyrics.
{
  "result": {
    "lyrics": [
      {
        "title": "Bleached",
        "lyrics": "[Intro]\n(Check)\n(One two)\n..."
      }
    ]
  }
}

Примечания по использованию

Все эндпоинты отправки Flow Music являются асинхронными задачами. После успешной отправки сначала получите task_id, затем вызывайте этот эндпоинт для опроса статуса задачи; когда status становится completed, читайте результаты генерации из result.