Saltar para o conteúdo principal
A principal função da API Luma Tasks é consultar o status de execução de uma tarefa através do ID da tarefa gerado pela API Luma Videos Generation. Este documento irá detalhar as instruções de integração da API Luma Tasks, ajudando você a integrar facilmente e aproveitar ao máximo o poderoso recurso dessa API. Com a API Luma Tasks, você pode consultar facilmente o status de execução das tarefas da API Luma Videos Generation.

Processo de Solicitação

Para usar a API Luma Tasks, você precisa primeiro ir à página de solicitação Luma Videos Generation API para solicitar o serviço correspondente e, em seguida, copiar o ID da tarefa da API Luma Videos Generation, como mostrado na imagem: Por fim, acesse a página da API Tasks Luma Tasks API para solicitar o serviço correspondente. Após acessar a página, clique no botão “Acquire”, como mostrado na imagem: Página de Solicitação Se você ainda não estiver logado ou registrado, será redirecionado automaticamente para a página de login convidando você a se registrar e fazer login. Após o registro e login, você será redirecionado automaticamente de volta para a página atual. Na primeira solicitação, haverá um crédito gratuito disponível, permitindo que você use essa API gratuitamente.

Exemplo de Solicitação

A API Luma Tasks pode ser usada para consultar os resultados da API Luma Videos Generation. Para saber como usar a API Luma Videos Generation, consulte o documento Luma Videos Generation API. Usaremos um exemplo de ID de tarefa retornado pelo serviço da API Luma Videos Generation para demonstrar como usar essa API. Suponha que temos um ID de tarefa: 50fc6182-fa86-4c7d-ac12-2fa27ec2f151, a seguir, demonstraremos como passar um ID de tarefa.

Exemplo de Tarefa

Configurando Cabeçalhos e Corpo da Solicitação

Request Headers incluem:
  • accept: especifica que a resposta deve estar no formato JSON, preenchido como application/json.
  • authorization: a chave para chamar a API, que pode ser selecionada diretamente após a solicitação.
Request Body inclui:
  • id: o ID da tarefa enviada.
  • action: a forma de operação na tarefa.
Configurar conforme mostrado na imagem abaixo:

Exemplo de Código

Pode-se notar que, no lado direito da página, já foram gerados automaticamente códigos em várias linguagens, como mostrado na imagem:

Alguns exemplos de código são os seguintes:

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "action": "retrieve"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "action": "retrieve"
}

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

Exemplo de Resposta

Após uma solicitação bem-sucedida, a API retornará as informações detalhadas da tarefa de vídeo aqui. Por exemplo:
{
  "_id": "66d297a3550a4144a5a5db42",
  "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
  "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
  "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
  "created_at": 1725077411.961,
  "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
  "request": {
    "action": "generate",
    "prompt": "Astronautas se deslocam do espaço para o vulcão"
  },
  "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
    "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
    "prompt": "Astronautas se deslocam do espaço para o vulcão",
    "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
    "video_height": 752,
    "video_width": 1360,
    "state": "completed",
    "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
    "thumbnail_width": 1360,
    "thumbnail_height": 752
  },
  "finished_at": 1725077566.241
}
O resultado retornado contém vários campos, o campo request é o corpo da solicitação quando a tarefa foi iniciada, enquanto o campo response é o corpo da resposta retornada após a conclusão da tarefa, cujos resultados são consistentes com a solicitação e resposta da API Luma Videos Generation. A descrição dos campos é a seguinte.
  • id, o ID da tarefa de vídeo gerada, usado para identificar exclusivamente esta tarefa de geração de vídeo.
  • video_id, o identificador exclusivo do vídeo na tarefa consultada, que deve ser passado na próxima vez que for necessário realizar operações de extensão no vídeo.
  • request, informações da solicitação na tarefa de vídeo consultada.
  • response, informações da resposta na tarefa de vídeo consultada.

Operação de Consulta em Lote

Esta é uma consulta para detalhes de tarefas de vídeo para vários IDs de tarefa, diferindo do acima, onde a ação deve ser selecionada como retrieve_batch. Request Body inclui:
  • ids: um array de IDs de tarefa enviados.
  • action: a forma de operação na tarefa.
Configurar conforme mostrado na imagem abaixo:

Exemplo de Código

Pode-se notar que, no lado direito da página, já foram gerados automaticamente códigos em várias linguagens, como mostrado na imagem:

Alguns exemplos de código são os seguintes:

Exemplo de Resposta

Após uma solicitação bem-sucedida, a API retornará as informações detalhadas de todas as tarefas de vídeo em lote. Por exemplo:
{
  "items": [
    {
      "_id": "66d297a3550a4144a5a5db42",
      "id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725077411.961,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "Astronautas se deslocam do espaço para o vulcão"
      },
      "trace_id": "0b7c1c1a-045c-4145-a434-609cba88f0a9",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "50fc6182-fa86-4c7d-ac12-2fa27ec2f151",
        "video_id": "4b088fc8-2bbc-4706-80a6-a0fb118adc1a",
        "prompt": "Astronautas se deslocam do espaço para o vulcão",
        "video_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/50fc6182-fa86-4c7d-ac12-2fa27ec2f151.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725077566.241
    },
    {
      "_id": "66d29ed3550a4144a5a6c089",
      "id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
      "api_id": "94fc9028-5a9f-4875-aae4-38463bd30ac5",
      "application_id": "06484a45-9d04-498a-98a7-67086dee8166",
      "created_at": 1725079250.921,
      "credential_id": "e6a879e5-a7c0-4f7b-9d6f-f9a837421a50",
      "request": {
        "action": "generate",
        "prompt": "la la la"
      },
      "trace_id": "338f1616-741d-40b6-8d62-c025434024c6",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "76a05f61-68ad-4c1a-838f-a00cd08cf65b",
        "video_id": "5a638d6a-7481-4c5e-8843-36c9d1b5bcd5",
        "prompt": "la la la",
        "video_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.mp4",
        "video_height": 752,
        "video_width": 1360,
        "state": "completed",
        "thumbnail_url": "https://platform.cdn.acedata.cloud/luma/76a05f61-68ad-4c1a-838f-a00cd08cf65b.jpg",
        "thumbnail_width": 1360,
        "thumbnail_height": 752
      },
      "finished_at": 1725079406.71
    }
  ],
  "count": 2
}

CURL

curl -X POST 'https://api.acedata.cloud/luma/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
  "action": "retrieve_batch"
}'

Python

import requests

url = "https://api.acedata.cloud/luma/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "ids": ["50fc6182-fa86-4c7d-ac12-2fa27ec2f151","76a05f61-68ad-4c1a-838f-a00cd08cf65b"],
    "action": "retrieve_batch"
}

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

Erro de tratamento

Ao chamar a API, se encontrar um erro, a API retornará o respectivo código de erro e informação. Por exemplo:
  • 400 token_mismatched: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 400 api_not_implemented: Solicitação inválida, possivelmente devido a parâmetros ausentes ou inválidos.
  • 401 invalid_token: Não autorizado, token de autorização inválido ou ausente.
  • 429 too_many_requests: Muitas solicitações, você excedeu o limite de taxa.
  • 500 api_error: Erro interno do servidor, algo deu errado no servidor.

Exemplo de resposta de erro

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "falha ao buscar"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusão

Através deste documento, você já entendeu como usar a API Luma Tasks para consultar detalhes de tarefas de vídeo individuais ou em lote. Esperamos que este documento possa ajudá-lo a integrar e usar melhor essa API. Se tiver alguma dúvida, entre em contato com nossa equipe de suporte técnico.