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": "A capacidade do grupo atual está saturada, tente novamente mais tarde",
"type": "rate_limit_error",
"param": "",
"code": "rate_limit_error"
}
}
Flow Music
Consultar Tarefa
Consultar o status de execução, o progresso e os resultados gerados das tarefas assíncronas do Flow Music
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": "A capacidade do grupo atual está saturada, tente novamente mais tarde",
"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": "A capacidade do grupo atual está saturada, tente novamente mais tarde",
"type": "rate_limit_error",
"param": "",
"code": "rate_limit_error"
}
}
Autenticação
string
obrigatório
Todos os endpoints do Flow Music exigem autenticação por Bearer TokenObtenha sua API Key:Acesse a página de gerenciamento de API Keys para obter sua API KeyAdicione ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY
Parâmetros de Caminho
string
obrigatório
O ID da tarefa retornado após o envio de uma tarefa do Flow Music
O ID da tarefa vem de
data[0].task_id na resposta do envio.Parâmetros de Consulta
string
padrão:"zh"
Idioma das mensagens de erro e de alguns textos informativosValores permitidos:
zh, en, ja, koCampos da Resposta
integer
Código de status da resposta, 200 em caso de sucesso
object
Detalhes da tarefa
Mostrar Campos da tarefa
Mostrar Campos da tarefa
string
ID da tarefa
string
Status da tarefa:
pending, processing, completed, failedinteger
Progresso da tarefa, intervalo 0-100
number
Valor efetivamente cobrado; geralmente 0 quando a tarefa falha
number
Credits efetivamente consumidos
object
Resultados gerados após a conclusão da tarefa; os campos retornados variam conforme a funcionalidade do Flow Music
Estrutura do Resultado
Tarefas de Música
Geração de música, extensão, substituição de trecho, rearranjo cover, separação de faixas, envio de áudio, download de áudio e renderização de vídeo geralmente retornam um arrayresult.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"
}
]
}
}
Tarefas de Letras
A geração de letras retorna um arrayresult.lyrics.
{
"result": {
"lyrics": [
{
"title": "Bleached",
"lyrics": "[Intro]\n(Check)\n(One two)\n..."
}
]
}
}
Observações de Uso
Todos os endpoints de envio do Flow Music são tarefas assíncronas. Após o envio bem-sucedido, primeiro obtenha o
task_id e depois chame este endpoint para consultar o status da tarefa; quando status for completed, leia os resultados gerados em result.