Przejdź do głównej treści
Główna funkcja API Midjourney Tasks polega na sprawdzaniu statusu wykonania zadań za pomocą ID zadań generowanych przez API Midjourney Imagine lub API Midjourney Describe. Dokument ten szczegółowo opisuje instrukcje integracji API Midjourney Tasks, aby pomóc Ci łatwo zintegrować i w pełni wykorzystać potężne możliwości tego API. Dzięki API Midjourney Tasks możesz łatwo sprawdzić status wykonania zadań API Midjourney Imagine lub API Midjourney Describe.

Proces aplikacji

Aby korzystać z API Midjourney Tasks, należy najpierw przejść do strony aplikacji Midjourney Imagine API i złożyć wniosek o odpowiednią usługę, a następnie skopiować ID zadania API Imagine, jak pokazano na obrazku:

Na koniec przejdź do strony API Tasks Midjourney Tasks API i złóż wniosek o odpowiednią usługę, po wejściu na stronę kliknij przycisk „Acquire”, jak pokazano na obrazku: Strona aplikacji Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, po zalogowaniu lub rejestracji automatycznie wrócisz na bieżącą stronę. Podczas pierwszej aplikacji otrzymasz darmowy limit, który pozwala na bezpłatne korzystanie z tego API.

Przykład żądania

API Midjourney Tasks może być używane do sprawdzania wyników API Midjourney Imagine i API Midjourney Describe. Aby dowiedzieć się, jak korzystać z API Midjourney Imagine, zapoznaj się z dokumentem Midjourney Imagine API. Aby dowiedzieć się, jak korzystać z Midjourney Describe, zapoznaj się z Midjourney Describe API. Weźmy jako przykład ID zadania zwrócone przez usługę API Midjourney Imagine, aby pokazać, jak korzystać z tego API. Załóżmy, że mamy ID zadania: 7489df4c-ef03-4de0-b598-e9a590793434, a następnie pokażemy, jak to zrobić, przekazując ID zadania.

Przykład zadania

Ustawienia nagłówków żądania i ciała żądania

Nagłówki żądania obejmują:
  • accept: określa, że oczekiwany jest wynik w formacie JSON, tutaj wpisz application/json.
  • authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
Ciało żądania obejmuje:
  • id: przesłane ID zadania.
  • ids: tablica ID zadań do zapytania w partii.
  • action: sposób operacji na zadaniu, wspiera retrieve (pojedyncze zapytanie) oraz retrieve_batch (zapytanie w partii).
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano kod w różnych językach, jak pokazano na obrazku:

Niektóre przykłady kodu są następujące:

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)

Przykład odpowiedzi

Po pomyślnym złożeniu żądania, API zwróci szczegółowe informacje o zadaniu z tego miejsca. Na przykład:
{
  "_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": "Kot siedzący na stole",
    "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
}
Zwrócone wyniki zawierają wiele pól, pole request to ciało żądania, które zostało wysłane podczas inicjowania zadania, a pole response to ciało odpowiedzi zwrócone po zakończeniu zadania. Jeśli type = imagine, jego wynik jest zgodny z żądaniem i odpowiedzią API Midjourney Imagine, jeśli type = describe, jego wynik jest zgodny z żądaniem i odpowiedzią API Midjourney Describe. Opis pól jest następujący.
  • id, ID zadania generującego ten obraz, używane do unikalnej identyfikacji tego zadania generowania obrazu.
  • type, jeśli type = imagine oznacza, że jest to wynik API Midjourney Imagine, jeśli type = describe oznacza, że jest to wynik API Midjourney Describe.
  • job_id, ID zadania zapytania o obraz, używane do unikalnej identyfikacji tego zadania zapytania o obraz.
  • image_id, unikalna identyfikacja obrazu w tym zapytaniu, potrzebna do wykonania operacji na obrazie w przyszłości.
  • request, informacje o żądaniu w zadaniu zapytania o obraz.
  • response, informacje o odpowiedzi w zadaniu zapytania o obraz.

Operacje zapytań w partii

To jest zapytanie o szczegóły zadań obrazów dla wielu ID zadań, w przeciwieństwie do powyższego, należy wybrać akcję jako retrieve_batch. Ciało żądania obejmuje:
  • ids: tablica przesłanych ID zadań.
  • action: sposób operacji na zadaniu.
Ustawienia są pokazane na poniższym obrazku:

Przykład kodu

Można zauważyć, że po prawej stronie strony automatycznie wygenerowano różne języki kodu, jak pokazano na rysunku:

Niektóre przykłady kodu są następujące:

Przykład odpowiedzi

Po pomyślnym wykonaniu żądania, API zwróci szczegółowe informacje o wszystkich zadaniach obrazów w partii. Na przykład:
{
  "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": "Kot siedzący na stole",
        "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": "Piękna dziewczyna",
        "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
}
Zwrócone wyniki zawierają wiele pól, z których items zawiera szczegółowe informacje o zadaniach obrazów w partii, a szczegółowe informacje o każdym zadaniu obrazu są takie same jak w powyższych polach. Informacje o polach są następujące.
  • items, wszystkie szczegółowe informacje o zadaniach obrazów w partii. Jest to tablica, a każdy element tablicy ma taki sam format jak wynik zapytania pojedynczego zadania.
  • count, liczba zadań obrazów w tej partii.

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)

Obsługa błędów

Podczas wywoływania API, jeśli wystąpi błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:
  • 400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
  • 401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.
  • 429 too_many_requests: Zbyt wiele żądań, przekroczono limit.
  • 500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

Przykład odpowiedzi błędu

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

Wnioski

Dzięki tej dokumentacji, zrozumieliście, jak używać API Midjourney Tasks do zapytań o szczegółowe informacje o pojedynczych lub partiach zadań obrazów. Mamy nadzieję, że ta dokumentacja pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.