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

Processo de Solicitação

Para usar a API Midjourney Tasks, você precisa primeiro ir à página de solicitação Midjourney Imagine API para solicitar o serviço correspondente e, em seguida, copiar o ID da tarefa da Imagine API, como mostrado na imagem:

Por fim, acesse a página da API Tasks Midjourney 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 a API gratuitamente.

Exemplo de Solicitação

A API Midjourney Tasks pode ser usada para consultar os resultados da API Midjourney Imagine e da API Midjourney Describe. Para saber como usar a API Midjourney Imagine, consulte a documentação Midjourney Imagine API. Para saber como usar a Midjourney Describe, consulte Midjourney Describe API. Usaremos um exemplo de ID de tarefa retornado pelo serviço Midjourney Imagine API para demonstrar como usar essa API. Suponha que temos um ID de tarefa: 7489df4c-ef03-4de0-b598-e9a590793434, 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 ser 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.
  • ids: um array de IDs de tarefas para consulta em lote.
  • action: o modo de operação da tarefa, suportando retrieve (consulta única) e retrieve_batch (consulta em lote).
Configuração 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/midjourney/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "7489df4c-ef03-4de0-b598-e9a590793434",
  "action": "retrieve"
}'

Python

import requests

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

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

payload = {
    "id": "7489df4c-ef03-4de0-b598-e9a590793434",
    "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 da imagem aqui. Por exemplo:
{
  "_id": "668aae3f550a4144a540803b",
  "id": "7489df4c-ef03-4de0-b598-e9a590793434",
  "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
  "created_at": 1720364607.967,
  "credential_id": "68253cc8-505d-47f4-97ad-0050a62e4975",
  "request": {
    "mode": "fast",
    "prompt": "Um gato sentado em uma mesa",
    "action": "generate"
  },
  "type": "imagine",
  "hold": false,
  "image_id": "1259525319472185344",
  "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
  "response": {
    "image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png?imageMogr2/thumbnail/!50p",
    "image_width": 1024,
    "image_height": 1024,
    "actions": [
      "upscale1",
      "upscale2",
      "upscale3",
      "upscale4",
      "reroll",
      "variation1",
      "variation2",
      "variation3",
      "variation4"
    ],
    "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png",
    "raw_image_width": 2048,
    "raw_image_height": 2048,
    "progress": 100,
    "image_id": "1259525319472185344",
    "task_id": "7489df4c-ef03-4de0-b598-e9a590793434",
    "success": true,
    "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
    "hold": false
  },
  "duration": 29.437000036239624,
  "finished_at": 1720364637.404
}
O resultado retornado contém vários campos, o campo request é o corpo da solicitação enviado ao iniciar a tarefa, enquanto o campo response é o corpo da resposta retornado após a conclusão da tarefa. Se type = imagine, o resultado é consistente com a solicitação e resposta da API Midjourney Imagine, se type = describe, o resultado é consistente com a solicitação e resposta da API Midjourney Describe. A descrição dos campos é a seguinte.
  • id, o ID da tarefa de geração desta imagem, usado para identificar exclusivamente esta tarefa de geração de imagem.
  • type, se type = imagine representa o resultado da API Midjourney Imagine, se type = describe representa o resultado da API Midjourney Describe.
  • job_id, o ID da tarefa de consulta de imagem gerada, usado para identificar exclusivamente esta tarefa de consulta de imagem.
  • image_id, a identificação única da tarefa de imagem consultada, que deve ser passada ao realizar operações de transformação na imagem na próxima vez.
  • request, informações da solicitação na tarefa de consulta de imagem.
  • response, informações da resposta na tarefa de consulta de imagem.

Operação de Consulta em Lote

Esta é uma consulta de detalhes da tarefa de imagem 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 tarefas enviados.
  • action: o modo de operação da tarefa.
Configuração conforme mostrado na imagem abaixo:

Exemplo de Código

Pode-se notar que, no lado direito da página, 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á os detalhes específicos de todas as tarefas de imagem em lote. Por exemplo:
{
  "items": [
    {
      "_id": "668aae3f550a4144a540803b",
      "id": "7489df4c-ef03-4de0-b598-e9a590793434",
      "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
      "created_at": 1720364607.967,
      "credential_id": "68253cc8-505d-47f4-97ad-0050a62e4975",
      "request": {
        "mode": "fast",
        "prompt": "Um gato sentado em uma mesa",
        "action": "generate"
      },
      "type": "imagine",
      "hold": false,
      "image_id": "1259525319472185344",
      "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png?imageMogr2/thumbnail/!50p",
        "image_width": 1024,
        "image_height": 1024,
        "actions": [
          "upscale1",
          "upscale2",
          "upscale3",
          "upscale4",
          "reroll",
          "variation1",
          "variation2",
          "variation3",
          "variation4"
        ],
        "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/7489df4c-ef03-4de0-b598-e9a590793434.png",
        "raw_image_width": 2048,
        "raw_image_height": 2048,
        "progress": 100,
        "image_id": "1259525319472185344",
        "task_id": "7489df4c-ef03-4de0-b598-e9a590793434",
        "success": true,
        "job_id": "da317da6-f500-48e6-bf32-dd48b3e6f84f",
        "hold": false
      },
      "duration": 29.437000036239624,
      "finished_at": 1720364637.404
    },
    {
      "_id": "668b41d6550a4144a551d996",
      "id": "807f62de-c63e-4add-8345-7f0ae6dd18e7",
      "application_id": "9dec7b2a-1cad-41ff-8536-d4ddaf2525d4",
      "created_at": 1720402390.341,
      "credential_id": "6fd3e1d5-4bd6-47e8-8872-fab89a183b53",
      "request": {
        "mode": "fast",
        "prompt": "Uma bela garota",
        "action": "generate"
      },
      "type": "imagine",
      "hold": false,
      "image_id": "1259683790612070400",
      "job_id": "ede5c805-e231-498c-8f74-3aa76d5d6d12",
      "response": {
        "image_url": "https://platform.cdn.acedata.cloud/midjourney/807f62de-c63e-4add-8345-7f0ae6dd18e7.png?imageMogr2/thumbnail/!50p",
        "image_width": 1024,
        "image_height": 1024,
        "actions": [
          "upscale1",
          "upscale2",
          "upscale3",
          "upscale4",
          "reroll",
          "variation1",
          "variation2",
          "variation3",
          "variation4"
        ],
        "raw_image_url": "https://platform.cdn.acedata.cloud/midjourney/807f62de-c63e-4add-8345-7f0ae6dd18e7.png",
        "raw_image_width": 2048,
        "raw_image_height": 2048,
        "progress": 100,
        "image_id": "1259683790612070400",
        "task_id": "807f62de-c63e-4add-8345-7f0ae6dd18e7",
        "success": true,
        "job_id": "ede5c805-e231-498c-8f74-3aa76d5d6d12",
        "hold": false
      },
      "duration": 29.471999883651733,
      "finished_at": 1720402419.813
    }
  ],
  "count": 2
}
O resultado retornado contém vários campos, onde items inclui os detalhes específicos das tarefas de imagem em lote, e as informações específicas de cada tarefa de imagem são as mesmas dos campos mencionados acima. As informações dos campos são as seguintes.
  • items, todos os detalhes específicos das tarefas de imagem em lote. É um array, onde cada elemento do array tem o mesmo formato do resultado da consulta de uma única tarefa mencionado acima.
  • count, o número de tarefas de imagem consultadas em lote.

CURL

curl -X POST 'https://api.acedata.cloud/midjourney/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "retrieve_batch",
  "id": "",
  "ids": ["7489df4c-ef03-4de0-b598-e9a590793434","807f62de-c63e-4add-8345-7f0ae6dd18e7"]
}'

Python

import requests

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

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

payload = {
    "action": "retrieve_batch",
    "id": "",
    "ids": ["7489df4c-ef03-4de0-b598-e9a590793434","807f62de-c63e-4add-8345-7f0ae6dd18e7"]
}

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

Tratamento de Erros

Ao chamar a API, se ocorrer um erro, a API retornará o código de erro e a mensagem correspondente. 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 Midjourney Tasks para consultar detalhes específicos de tarefas de imagem únicas 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.